{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e9072b21-4c8a-4dc3-8110-2edfafe869bf",
   "metadata": {},
   "source": [
    "# AHRS\n",
    "\n",
    "This Notebook showcases the most important classes and functions included in the Python package `ahrs`.\n",
    "\n",
    "Here we will explore the basic use of:\n",
    "\n",
    "- Class [DCM](https://ahrs.readthedocs.io/en/latest/dcm/classDCM.html)\n",
    "- Class [Quaternion](https://ahrs.readthedocs.io/en/latest/quaternion/classQuaternion.html)\n",
    "- Class [QuaternionArray](https://ahrs.readthedocs.io/en/latest/quaternion/classQuaternionArray.html)\n",
    "- Some [Attitude estimation algorithms](https://ahrs.readthedocs.io/en/latest/filters.html)\n",
    "- The [World Magnetic Model](https://ahrs.readthedocs.io/en/latest/wmm.html)\n",
    "- The [World Geodetic System](https://ahrs.readthedocs.io/en/latest/wgs84.html)\n",
    "- [Metrics functions](https://ahrs.readthedocs.io/en/latest/metrics.html) for orientation representations.\n",
    "- And diverse tools included in `ahrs`.\n",
    "\n",
    "### Helping Packages\n",
    "\n",
    "Plotting and data-handling tools are imported from the script `tools.py` located in the current directory.\n",
    "\n",
    "- `plot` shows time-series data in vertically stacked plots.\n",
    "- `plot3` shows a 3D scene, where particles, frames, and items exist and interact in the same space.\n",
    "\n",
    "Packages `matplotlib` and `ipympl` are required to build interactive visualizations in the Notebook. Make sure you have those installed.\n",
    "\n",
    "These tools simplify the visualization of orientations in 3d, or time-series data, but are **NOT** included in the `ahrs` package.\n",
    "\n",
    "Once you have `ahrs` installed (which also installs `numpy`) and you have the forementioned libraries, we can start by setting our notebook up."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "65b78e9a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Use widgets\n",
    "%matplotlib widget\n",
    "\n",
    "# Import NumPy\n",
    "import numpy as np\n",
    "\n",
    "# Seed random generator\n",
    "GENERATOR = np.random.default_rng(42)\n",
    "\n",
    "# Import plotting tools\n",
    "from tools import plot\n",
    "from tools import plot3"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54f309e6-e977-4944-96ff-b726738ea81c",
   "metadata": {},
   "source": [
    "## AHRS Basics\n",
    "\n",
    "We can start now. Let's import our favorite package."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "4e670fb6-1974-4705-bece-0b40a183a99d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import ahrs"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a8c2f0f-9986-4b91-97eb-e6cf15edbce3",
   "metadata": {},
   "source": [
    "## Attitude Representations\n",
    "\n",
    "The first elements we want to manipulate and use are the representations of any Attitude (that's the \"A\" in AHRS.)\n",
    "\n",
    "There are many ways to mathematically represent the attitude:\n",
    "\n",
    "1. Direction Cosine Matrix.\n",
    "2. Euler Angles.\n",
    "3. Axis-Angle.\n",
    "4. Quaternion.\n",
    "\n",
    "Let's check the most intuitive first.\n",
    "\n",
    "### Direction Cosine Matrix\n",
    "\n",
    "The [Direction Cosine Matrix](https://ahrs.readthedocs.io/en/latest/dcm.html)can be built with the class [DCM](https://ahrs.readthedocs.io/en/latest/dcm/classDCM.html). This represents either:\n",
    "\n",
    "- the **orientation** of a frame in 3D space with respect to another reference frame in the same space, or\n",
    "- the **linear operation**, where a point (or points) is (are) rotated according the rotation described in the DCM.\n",
    "\n",
    "Normally the global frame is represented by the 3x3 Identity matrix."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c07441ae-945d-4872-bec0-b988bd4328b7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Global frame:\n",
      "[[1. 0. 0.]\n",
      " [0. 1. 0.]\n",
      " [0. 0. 1.]]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "04e904974c834c539ec6ba439434652c",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=640.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "global_frame = ahrs.DCM()    # An empty DCM is initialized as the global frame\n",
    "print(\"Global frame:\")\n",
    "print(global_frame.view())\n",
    "plot3(frames=global_frame)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b1e60ee-28d2-4156-98ba-51dfe4511f96",
   "metadata": {},
   "source": [
    "As you can see, any frame in 3D can be visualized with three orthogonal axes of length one. The X-, Y-, and Z-axis are represented with red, green and blue color, respectively.\n",
    "\n",
    "Each axis is described in the columns of the DCM:\n",
    "\n",
    "$$\n",
    "\\begin{bmatrix}\n",
    "  \\color{red}{|} &  \\color{green}{|} & \\color{blue}{|} \\\\\n",
    "  \\color{red}{X} &  \\color{green}{Y} & \\color{blue}{Z} \\\\\n",
    "  \\color{red}{|} &  \\color{green}{|} & \\color{blue}{|}\n",
    " \\end{bmatrix}\n",
    "$$\n",
    "\n",
    "To make it easier. Imagine:\n",
    "\n",
    "- The first column describes the three-dimensional postition of the X-axis tip (red)\n",
    "- The second column describes the three-dimensional postition of the Y-axis tip (green)\n",
    "- The third column describes the three-dimensional postition of the Z-axis tip (blue)\n",
    "\n",
    "Go back up and see that the visualized frame actually describes the columns of the global frame.\n",
    "\n",
    "$$\n",
    "\\begin{array}{lcr}\n",
    "X = \\begin{bmatrix} 1 \\\\ 0 \\\\ 0 \\end{bmatrix} &\n",
    "Y = \\begin{bmatrix} 0 \\\\ 1 \\\\ 0 \\end{bmatrix} &\n",
    "Z = \\begin{bmatrix} 0 \\\\ 0 \\\\ 1 \\end{bmatrix}\n",
    "\\end{array}\n",
    "$$\n",
    "\n",
    "The class `DCM` works in radians. If you want to use degrees, you can transform your values with the helper constant `DEG2RAD`.\n",
    "\n",
    "Now let's built a matrix describing a rotation of 45° about the Z-axis, and confirm that its elements describe the position of each Axis' tip."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "fd6e95f1-3c8c-4e65-bd2e-ad0bac57a2ef",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rotation of 45° about global frame's Z-axis:\n",
      "[[ 0.70710678 -0.70710678  0.        ]\n",
      " [ 0.70710678  0.70710678  0.        ]\n",
      " [ 0.          0.          1.        ]]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f69951ff754b479fa0e089409e25dbd8",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "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KCxduhT//ve/UV1djYsuuggXXXSRpR2ys2bNwqhRozBjxgxUV1dj6tSpmD17NtavX4+WLVvW237ZsmXYv38/jjvuOHg8HnzwwQe44447sGDBAgwaNMiydRP2hgQgQRCypNNp9O/fH61bt8acOXOExw8ePIiTTjoJo0aNwqOPPlq09Wm1vZDj8OHDaNmyJWbPno1hw4aZuNrSged5/PDDD5g7dy5qa2vx+eef45RTThFqCrt164YDBw7ghx9+QNeuXYXInxbEzRjMXkau/q4Y8DyPBx98ELNmzcKnn34qjEfbtWsX5s2bh9raWnAch3/84x+WranQGx0AOPXUUzF06FA88sgjZi6VKCFIABIEociGDRvQo0cPvPTSS7jqqqsAAKNGjcLXX3+N//znP0W1ifjpp5/Qrl07rFixIstg+q677sLy5cvx73//O+8+xo0bhw8//BDfffdd3ihWOcLzPPbu3Yv58+djzpw5WLJkCTp06IDDhw+je/fueOeddwqu7VNjL2MVPM/j6aefxvTp07F8+XKccMIJstsxf0ErKPRGh+d5LF26FDU1NZg7dy4GDhxo8oqJUoFqAAmCUKRbt2544oknMGHCBOzcuRPz5s3D22+/jddee63kPcKeeOIJvP3226itrSXxpwDHcWjRogXGjh2LBQsWYOPGjeB5HplMBp999hlOOeUU3H333VixYoXu2j5x/V0gEIDT6bRkoocUnucxY8YMPPPMM1i0aJGi+ANgaSdtrhFvu3btUnzewYMHUVFRAY/Hg6FDh+K5554j8UdkQTYwBEHkZMKECaitrcU111yDb775Bg8++CC6d+9e7GXpmlHMmDx5Mp544gl8/PHHOOWUU8xcZoNi6tSp6NChA+bPnw+e5/HRRx+htrYWl112Gbxer+A12L9/f103CFJ7GRYZTCQShk70kMLzPF5//XU8/PDDWLBgAXr27Gno/otBo0aNsGbNGoRCISxZsgQTJ05Ep06dcPbZZxd7aYRNoBQwQRB5WbduHY4//nicfPLJ+PLLL20zBUHL5APGU089hUcffRQffvghTjvtNCuXW/JEIhEAQCAQyHo8mUxi2bJleO+99zBv3jzEYjEMGTIENTU1OO+88+ptrxWe55FMJpFOp7PsZYwSg7W1tbjxxhvx3nvv2a5JwohaVwC47rrr8MMPP+DDDz80aaVEqUEpYIIg8jJz5kwEAgFs2bIFP/74Y7GXIzBx4kS89NJLePXVV7F27VrcdNNNCIfDGDNmDIC6esV7771X2P7JJ5/EAw88gJkzZ6Kqqgq7du3Crl27EAqFivUWSopAICAr5txuNwYOHIgZM2bgxx9/xPz589GyZUvce++9qKqqwlVXXYVZs2bh4MGDutK5HMfB4/Fk2cuk02lEIpGC7WU++ugj3HDDDfj73/9uO/EHAB6PBz179sSSJUuExzKZDJYsWZJV+5qPTCZTdCsbwl5QBJAgiJysWLECZ511Fj766CP86U9/AgB8/PHHRe/WZGiZUVxVVYVt27bV28ekSZPw0EMPWbjq8iCTyeCrr77CnDlzMG/ePHz//fc455xzUFNTg6FDh6J58+YFHUdSexk23o01kuTj888/x29/+1s8//zzuOaaa3Svw2y0jnh7/PHH0atXL3Tu3BnxeBwLFy7EPffcg7/+9a+47rrrivxuCLtAApAgCEUikQh69OiBwYMH49lnn8XWrVtx8skn46mnnsJNN91U7OURJQTP81i/fr3gNfjVV1+hb9++qKmpwfDhw3H00UcbIgbT6TSSySQA5fFuALB69WoMGzYMjz32GMaNG2ebGxoltNzo/OEPf8CsWbPw448/wu/347jjjsOtt96Kyy+/vIjvgLAbJAAJglDk1ltvxcKFC/H1118Lqb8XXngBd955J7755htUVVUVd4FEScLzPLZv347a2lrU1tZixYoV6NGjh+A12KVLl4IFmdReZubMmWjZsiUuuOAC7NixA4MGDcJdd92Fu+66y/bijyDMgGoACYKQZfny5Zg+fTr+7//+L6vu68Ybb0S/fv0wduxYS+w5iIYHx3Ho0KEDbrvtNixbtgw//PADrrvuOvzzn/9Enz59UF1djUceeQT//e9/kclkdL2G2F7G7/cjkUhg8uTJ6NChA/r374/TTjsNY8aMKbr40zLi7aWXXkL//v3RtGlTNG3aFAMGDMi5vVnwPI8BAwbI1kw+//zzaNKkia1qhQkFeIIgCMIUpk2bxnfo0IH3er18nz59+H//+9+qnvfWW2/xAPgRI0aYu0Cbkclk+H379vGvvfYaf9FFF/GBQIDv2LEjf8stt/BLlizhDx06xIfDYd1/NmzYwLdr147v168fX11dzTudTv6ss87ip06dym/bts3y9/v222/zHo+H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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=640.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rotated_frame = ahrs.DCM(z=45.0*ahrs.DEG2RAD)    # DCM rotated 45 degrees (see helper constant) about the Z-axis\n",
    "print(\"Rotation of 45° about global frame's Z-axis:\")\n",
    "print(rotated_frame.view())\n",
    "plot3(frames=rotated_frame)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30224465-8620-406d-8157-a63339686b97",
   "metadata": {},
   "source": [
    "You see the Z-axis (blue) remains unchanged, while the other points rotate around it, as expected.\n",
    "\n",
    "The class `DCM` is derived from [NumPy arrays](https://numpy.org/doc/stable/reference/generated/numpy.array.html), and its attributes and methods are kept.\n",
    "\n",
    "The DCM's characteristics in SO(3) are conveniently added. Operations between DCMs yield DCMs too.\n",
    "\n",
    "You can also build the DCM, by giving it any valid $3\\times 3$ orthogonal matrix in [SO(3)](https://en.wikipedia.org/wiki/3D_rotation_group)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "21b79f46-02ce-4582-8d47-06a0384e786d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DCM([[ 0.70710678, -0.70710678,  0.        ],\n",
       "     [ 0.70710678,  0.70710678,  0.        ],\n",
       "     [ 0.        ,  0.        ,  1.        ]])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "valid_rotation = ahrs.DCM(np.array([[np.sqrt(2)/2, -np.sqrt(2)/2, 0], [np.sqrt(2)/2, np.sqrt(2)/2, 0], [0, 0, 1]]))\n",
    "valid_rotation.view()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f1884096-e149-445a-9a82-834a0029201e",
   "metadata": {},
   "source": [
    "It will fail if it is not in SO(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "2742fc20-8554-430f-b381-7305e43786d4",
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "Given attitude is not in SO(3)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[6], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m invalid_rotation \u001b[38;5;241m=\u001b[39m \u001b[43mahrs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mDCM\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m4\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m5\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m6\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m7\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m8\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32mD:\\Projects\\ahrs\\ahrs\\common\\dcm.py:427\u001b[0m, in \u001b[0;36mDCM.__new__\u001b[1;34m(subtype, array, **kwargs)\u001b[0m\n\u001b[0;32m    425\u001b[0m         array \u001b[38;5;241m=\u001b[39m DCM\u001b[38;5;241m.\u001b[39mfrom_axisangle(DCM, np\u001b[38;5;241m.\u001b[39marray(ax), ang)\n\u001b[0;32m    426\u001b[0m _assert_numerical_iterable(array, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mDirection Cosine Matrix\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m--> 427\u001b[0m \u001b[43m_assert_SO3\u001b[49m\u001b[43m(\u001b[49m\u001b[43marray\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mDirection Cosine Matrix\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m    428\u001b[0m \u001b[38;5;66;03m# Create the ndarray instance of type DCM. This will call the standard\u001b[39;00m\n\u001b[0;32m    429\u001b[0m \u001b[38;5;66;03m# ndarray constructor, but return an object of type DCM.\u001b[39;00m\n\u001b[0;32m    430\u001b[0m obj \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msuper\u001b[39m(DCM, subtype)\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__new__\u001b[39m(subtype, array\u001b[38;5;241m.\u001b[39mshape, \u001b[38;5;28mfloat\u001b[39m, array)\n",
      "File \u001b[1;32mD:\\Projects\\ahrs\\ahrs\\common\\dcm.py:108\u001b[0m, in \u001b[0;36m_assert_SO3\u001b[1;34m(array, R_name)\u001b[0m\n\u001b[0;32m    106\u001b[0m     in_SO3 \u001b[38;5;241m&\u001b[39m\u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mallclose([x\u001b[38;5;129m@x\u001b[39m\u001b[38;5;241m.\u001b[39mT \u001b[38;5;28;01mfor\u001b[39;00m x \u001b[38;5;129;01min\u001b[39;00m array], np\u001b[38;5;241m.\u001b[39midentity(\u001b[38;5;241m3\u001b[39m))\n\u001b[0;32m    107\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m in_SO3:\n\u001b[1;32m--> 108\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mGiven attitude is not in SO(3)\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
      "\u001b[1;31mValueError\u001b[0m: Given attitude is not in SO(3)"
     ]
    }
   ],
   "source": [
    "invalid_rotation = ahrs.DCM(np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae9d3c35-0dce-4037-a145-9be9e5509c31",
   "metadata": {},
   "source": [
    "### Euler Angles\n",
    "\n",
    "DCMs can be built in different ways, the most famous one is through Euler Angles.\n",
    "\n",
    "These angles, first introduced by [Leonhard Euler](https://en.wikipedia.org/wiki/Leonhard_Euler) are three angles describing the orientation of an object with respect to a fixed coordinate system.\n",
    "\n",
    "Three composed (chained) **elemental rotations** are always sufficient to reach any frame in 3D space. In this case, we can build each rotation separately with our class `DCM` by setting it in its constructor.\n",
    "\n",
    "The chained multiplication of these orientations yields a final composed orientation.\n",
    "\n",
    "Because the rotation operations are **always with respect to the initial global frame**, it is called an **[Extrinsic rotation](https://en.wikipedia.org/wiki/Euler_angles#Conventions_by_extrinsic_rotations)**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4ede2c84-c356-4055-addc-92d8fccc590d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rotation of 10 degrees about X-axis:\n",
      "[[ 1.          0.          0.        ]\n",
      " [ 0.          0.98480775 -0.17364818]\n",
      " [ 0.          0.17364818  0.98480775]]\n",
      "Rotation of 20 degrees about Y-axis:\n",
      "[[ 0.93969262  0.          0.34202014]\n",
      " [ 0.          1.          0.        ]\n",
      " [-0.34202014  0.          0.93969262]]\n",
      "Rotation of 30 degrees about Z-axis:\n",
      "[[ 0.8660254 -0.5        0.       ]\n",
      " [ 0.5        0.8660254  0.       ]\n",
      " [ 0.         0.         1.       ]]\n",
      "Rotation Matrix <class 'ahrs.common.dcm.DCM'>:\n",
      "[[ 0.81379768 -0.44096961  0.37852231]\n",
      " [ 0.46984631  0.88256412  0.01802831]\n",
      " [-0.34202014  0.16317591  0.92541658]]\n"
     ]
    }
   ],
   "source": [
    "print(\"Rotation of 10 degrees about X-axis:\")\n",
    "print(ahrs.DCM(x=10.0*ahrs.DEG2RAD))\n",
    "\n",
    "print(\"Rotation of 20 degrees about Y-axis:\")\n",
    "print(ahrs.DCM(y=20.0*ahrs.DEG2RAD))\n",
    "\n",
    "print(\"Rotation of 30 degrees about Z-axis:\")\n",
    "print(ahrs.DCM(z=30.0*ahrs.DEG2RAD))\n",
    "\n",
    "# New rotation matrix from products of rotations about X-, Y-, and Z-axis, respectively.\n",
    "# Order of matrix multiplication is right to left: x --> y --> z\n",
    "orientation = ahrs.DCM(z=30.0*ahrs.DEG2RAD) @ ahrs.DCM(y=20.0*ahrs.DEG2RAD) @ ahrs.DCM(x=10.0*ahrs.DEG2RAD)\n",
    "\n",
    "print(f\"Rotation Matrix {type(orientation)}:\")\n",
    "print(orientation)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "505fe5be-25d4-4407-9ec1-365688d8834a",
   "metadata": {},
   "source": [
    "This proces can be simplified at creation of the DCM object setting the [Euler angles](https://en.wikipedia.org/wiki/Euler_angles) tuple:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "3b2f1a04-6dd1-4e94-a53f-de1c28c22cf2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DCM([[ 0.81379768, -0.44096961,  0.37852231],\n",
       "     [ 0.46984631,  0.88256412,  0.01802831],\n",
       "     [-0.34202014,  0.16317591,  0.92541658]])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "orientation = ahrs.DCM( euler=('zyx', np.array([30.0, 20.0, 10.0])*ahrs.DEG2RAD) )\n",
    "orientation.view()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5179869a-9b87-47bb-9ffa-09eb62017e28",
   "metadata": {},
   "source": [
    "As you can see, for the Euler angles we tried to match the mathematical order of multiplication from right to left.\n",
    "\n",
    "The custom class [DCM](https://ahrs.readthedocs.io/en/latest/dcm/classDCM.html) includes the basic attributes describing the mathematical properties of a DCM."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "046c9a46-5b4b-4e5c-a4f8-e4e9c40afa7e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "rotation.T =\n",
      "[[ 0.81379768  0.46984631 -0.34202014]\n",
      " [-0.44096961  0.88256412  0.16317591]\n",
      " [ 0.37852231  0.01802831  0.92541658]] \n",
      "\n",
      "rotation.I =\n",
      "[[ 0.81379768  0.46984631 -0.34202014]\n",
      " [-0.44096961  0.88256412  0.16317591]\n",
      " [ 0.37852231  0.01802831  0.92541658]] \n",
      "\n",
      "rotation.inv =\n",
      "[[ 0.81379768  0.46984631 -0.34202014]\n",
      " [-0.44096961  0.88256412  0.16317591]\n",
      " [ 0.37852231  0.01802831  0.92541658]] \n",
      "\n",
      "rotation.det =\n",
      "1.0000000000000002 \n",
      "\n",
      "rotation.determinant =\n",
      "1.0000000000000002 \n",
      "\n",
      "rotation.fro =\n",
      "1.7320508075688772 \n",
      "\n",
      "rotation.frobenius =\n",
      "1.7320508075688772 \n",
      "\n",
      "rotation.adj =\n",
      "[[ 0.81379768  0.46984631 -0.34202014]\n",
      " [-0.44096961  0.88256412  0.16317591]\n",
      " [ 0.37852231  0.01802831  0.92541658]] \n",
      "\n",
      "rotation.adjugate =\n",
      "[[ 0.81379768  0.46984631 -0.34202014]\n",
      " [-0.44096961  0.88256412  0.16317591]\n",
      " [ 0.37852231  0.01802831  0.92541658]] \n",
      "\n",
      "rotation.log =\n",
      "[[ 0.          0.48647923 -0.38485157]\n",
      " [-0.48647923  0.          0.07752532]\n",
      " [ 0.38485157 -0.07752532  0.        ]] \n",
      "\n"
     ]
    }
   ],
   "source": [
    "attribute_list = ['T', 'I', 'inv', 'det', 'determinant', 'fro', 'frobenius', 'adj', 'adjugate', 'log']\n",
    "for attribute_name in attribute_list:\n",
    "    print(f\"rotation.{attribute_name} =\")\n",
    "    print(orientation.__getattribute__(attribute_name), '\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "151705fa-e3ca-40ef-85e0-8674bbcadcb6",
   "metadata": {},
   "source": [
    "For a full detail of its properties, see its [documentation](https://ahrs.readthedocs.io/en/latest/dcm/classDCM.html).\n",
    "\n",
    "On top of that, it has a plethora of methods that help us to get extra information."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "5eedfc5e-b40b-47cc-ba29-eae8f89491bc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DCM.all()               Returns True if all elements evaluate to True.\n",
      "DCM.any()               Returns True if any of the elements of `a` evaluate to True.\n",
      "DCM.argmax()            Return indices of the maximum values along the given axis.\n",
      "DCM.argmin()            Return indices of the minimum values along the given axis.\n",
      "DCM.argpartition()      Returns the indices that would partition this array.\n",
      "DCM.argsort()           Returns the indices that would sort this array.\n",
      "DCM.astype()            Copy of the array, cast to a specified type.\n",
      "DCM.byteswap()          Swap the bytes of the array elements\n",
      "DCM.choose()            Use an index array to construct a new array from a set of choices.\n",
      "DCM.clip()              Return an array whose values are limited to ``[min, max]``.\n",
      "DCM.compress()          Return selected slices of this array along given axis.\n",
      "DCM.conj()              Complex-conjugate all elements.\n",
      "DCM.conjugate()         Return the complex conjugate, element-wise.\n",
      "DCM.copy()              Return a copy of the array.\n",
      "DCM.cumprod()           Return the cumulative product of the elements along the given axis.\n",
      "DCM.cumsum()            Return the cumulative sum of the elements along the given axis.\n",
      "DCM.diagonal()          Return specified diagonals. In NumPy 1.9 the returned array is a\n",
      "DCM.dot()               <No description found>\n",
      "DCM.dump()              Dump a pickle of the array to the specified file.\n",
      "DCM.dumps()             Returns the pickle of the array as a string.\n",
      "DCM.fill()              Fill the array with a scalar value.\n",
      "DCM.flatten()           Return a copy of the array collapsed into one dimension.\n",
      "DCM.from_axang()        Synonym of method `from_axisangle`.\n",
      "DCM.from_axisangle()    DCM from axis-angle representation\n",
      "DCM.from_q()            Synonym of method `from_quaternion`.\n",
      "DCM.from_quaternion()   DCM from given quaternion\n",
      "DCM.getfield()          Returns a field of the given array as a certain type.\n",
      "DCM.item()              Copy an element of an array to a standard Python scalar and return it.\n",
      "DCM.itemset()           Insert scalar into an array (scalar is cast to array's dtype, if possible)\n",
      "DCM.max()               Return the maximum along a given axis.\n",
      "DCM.mean()              Returns the average of the array elements along given axis.\n",
      "DCM.min()               Return the minimum along a given axis.\n",
      "DCM.newbyteorder()      Return the array with the same data viewed with a different byte order.\n",
      "DCM.nonzero()           Return the indices of the elements that are non-zero.\n",
      "DCM.ode()               Ordinary Differential Equation of the DCM.\n",
      "DCM.partition()         Rearranges the elements in the array in such a way that the value of the\n",
      "DCM.prod()              Return the product of the array elements over the given axis\n",
      "DCM.ptp()               Peak to peak (maximum - minimum) value along a given axis.\n",
      "DCM.put()               Set ``a.flat[n] = values[n]`` for all `n` in indices.\n",
      "DCM.ravel()             Return a flattened array.\n",
      "DCM.repeat()            Repeat elements of an array.\n",
      "DCM.reshape()           Returns an array containing the same data with a new shape.\n",
      "DCM.resize()            Change shape and size of array in-place.\n",
      "DCM.round()             Return `a` with each element rounded to the given number of decimals.\n",
      "DCM.searchsorted()      Find indices where elements of v should be inserted in a to maintain order.\n",
      "DCM.setfield()          Put a value into a specified place in a field defined by a data-type.\n",
      "DCM.setflags()          Set array flags WRITEABLE, ALIGNED, WRITEBACKIFCOPY,\n",
      "DCM.sort()              Sort an array in-place. Refer to `numpy.sort` for full documentation.\n",
      "DCM.squeeze()           Remove axes of length one from `a`.\n",
      "DCM.std()               Returns the standard deviation of the array elements along given axis.\n",
      "DCM.sum()               Return the sum of the array elements over the given axis.\n",
      "DCM.swapaxes()          Return a view of the array with `axis1` and `axis2` interchanged.\n",
      "DCM.take()              Return an array formed from the elements of `a` at the given indices.\n",
      "DCM.to_angles()         Synonym of method `to_rpy`.\n",
      "DCM.to_axang()          Synonym of method `to_axisangle`.\n",
      "DCM.to_axisangle()      Return axis-angle representation of the DCM.\n",
      "DCM.to_q()              Synonym of method `to_quaternion`.\n",
      "DCM.to_quaternion()     Quaternion from Direction Cosine Matrix.\n",
      "DCM.to_rpy()            Roll-Pitch-Yaw Angles from DCM\n",
      "DCM.tobytes()           Construct Python bytes containing the raw data bytes in the array.\n",
      "DCM.tofile()            Write array to a file as text or binary (default).\n",
      "DCM.tolist()            Return the array as an ``a.ndim``-levels deep nested list of Python scalars.\n",
      "DCM.tostring()          A compatibility alias for `tobytes`, with exactly the same behavior.\n",
      "DCM.trace()             Return the sum along diagonals of the array.\n",
      "DCM.transpose()         Returns a view of the array with axes transposed.\n",
      "DCM.var()               Returns the variance of the array elements, along given axis.\n",
      "DCM.view()              New view of array with the same data.\n"
     ]
    }
   ],
   "source": [
    "# List all DCM methods and the first descriptive line from each docstring\n",
    "from tools import describe_methods\n",
    "describe_methods(orientation)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e471d56e-3e2a-4017-bc15-187e76bd156a",
   "metadata": {},
   "source": [
    "Have a look at the documentation of the class [DCM](https://ahrs.readthedocs.io/en/latest/dcm/classDCM.html) for more details about the most important methods.\n",
    "\n",
    "### Axis-Angle\n",
    "\n",
    "A rotation can also be expressed with a pair parametrizing it. This pair is the axis of rotation as a three-dimensional vector, and its corresponding angle of rotation.\n",
    "\n",
    "For example, for the rotation above, we simply indicate that we rotate 45° around the Z-axis like this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "86bec3c5-1351-4d23-a191-d3cf124086fd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DCM([[ 0.70710678, -0.70710678,  0.        ],\n",
       "     [ 0.70710678,  0.70710678,  0.        ],\n",
       "     [ 0.        ,  0.        ,  1.        ]])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rotation = ahrs.DCM(axang=([0, 0, 1], 45*ahrs.DEG2RAD))\n",
    "rotation.view()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bb97c60b-4f4b-41c8-b52f-a71c3955dfa4",
   "metadata": {},
   "source": [
    "Notice the axis **MUST** have a norm equal to 1.\n",
    "\n",
    "$$\n",
    "Z = \\begin{bmatrix}0 \\\\ 0 \\\\ 1\\end{bmatrix}\n",
    "$$\n",
    "\n",
    "To guarantee it the method [from_axisangle](https://ahrs.readthedocs.io/en/latest/dcm/classDCM.from_axisangle.html) (used by the class DCM) normalizes it immediately."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "948dc119-7cf8-4d57-ad16-d748bca0fc1d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DCM([[ 0.70710678, -0.70710678,  0.        ],\n",
       "     [ 0.70710678,  0.70710678,  0.        ],\n",
       "     [ 0.        ,  0.        ,  1.        ]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ahrs.DCM(axang=([0, 0, 2], 45*ahrs.DEG2RAD))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fa790f72-d841-41a0-a7f1-251bf0dfa270",
   "metadata": {},
   "source": [
    "### Quaternions\n",
    "\n",
    "The fourth and most useful representation explored here is the Quaternion.\n",
    "\n",
    "With `ahrs` you build [unit Quaternions](https://en.wikipedia.org/wiki/Quaternion#Unit_quaternion), a.k.a. [Versors](https://en.wikipedia.org/wiki/Versor), even with an empty call, which returns the so-called `identity quaternion`:\n",
    "\n",
    "$$\n",
    "\\mathbf{q} = \\begin{bmatrix}1 & 0 & 0 & 0\\end{bmatrix}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b044205e-c738-42ac-8805-1d563f56ff9c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Quaternion([1., 0., 0., 0.])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "q = ahrs.Quaternion()\n",
    "q.view()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3adb434d-1700-43b6-bf9a-9a2e00628099",
   "metadata": {},
   "source": [
    "As with the DCM, we can initialize our quaternions in different ways:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "c5fc3c88-46bb-478b-b288-71b43490226f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Random quaternion:\n",
      " (0.5240 +0.8448i +0.1028j -0.0354k)\n",
      "4-element array:\n",
      " (0.1826 -0.3651i +0.5477j -0.7303k)\n",
      "3-element array:\n",
      " (0.0000 +0.2673i -0.5345j +0.8018k)\n",
      "From DCM:\n",
      " (0.9239 +0.0000i +0.0000j +0.3827k)\n",
      "Roll-pitch-yaw angles:\n",
      " (0.9515 +0.2393i +0.1893j +0.0381k)\n"
     ]
    }
   ],
   "source": [
    "print(\"Random quaternion:\\n\", ahrs.Quaternion(random=True))\n",
    "print(\"4-element array:\\n\", ahrs.Quaternion([1., -2., 3., -4]))\n",
    "print(\"3-element array:\\n\", ahrs.Quaternion([1., -2., 3.]))\n",
    "print(\"From DCM:\\n\", ahrs.Quaternion(dcm=np.array([[np.sqrt(2)/2, -np.sqrt(2)/2, 0], [np.sqrt(2)/2, np.sqrt(2)/2, 0], [0, 0, 1]])))\n",
    "print(\"Roll-pitch-yaw angles:\\n\", ahrs.Quaternion(rpy=np.array([30.0, 20.0, 10.0])*ahrs.DEG2RAD))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59fbafc5-0596-4a37-9132-12a1cbe0c52e",
   "metadata": {},
   "source": [
    "We can notice some things here:\n",
    "\n",
    "- Quaternion inputs are ALWAYS normalized.\n",
    "- When we cast the Quaternion as a [string](https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str) (call it in a print) we get a \"prettier\" representation based on [Hamilton's initial description](https://en.wikipedia.org/wiki/History_of_quaternions#Hamilton's_discovery) of the basis vectors using $\\mathcal{i}$, $\\mathcal{j}$, and $\\mathcal{k}$ for the vector part.\n",
    "- When a quaternion is built with 3 items. It creates a pure quaternion, that is a quaternion with a scalar part equal to 0, while the 3 elements are set for the vector part.\n",
    "\n",
    "Going back to the example above, we can represent the orientation as quaternion giving the values of the roll-pitch-yaw angles:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "6a0bfe15-82c4-4933-a362-b665f6c3a5bd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Quaternion([0.92387953, 0.        , 0.        , 0.38268343])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "q = ahrs.Quaternion(rpy=([0, 0, 45*ahrs.DEG2RAD]))\n",
    "q.view()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f8efc626-ffd5-46ce-a40d-f80a0d4b3da1",
   "metadata": {},
   "source": [
    "This quaternion represents the same Direction Cosine Matrix of a 45° rotation around the Z-axis (yaw angle):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "784c8ea5-9713-4a4c-a60c-a9a3e990be49",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.70710678, -0.70710678,  0.        ],\n",
       "       [ 0.70710678,  0.70710678,  0.        ],\n",
       "       [ 0.        ,  0.        ,  1.        ]])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "q.to_DCM()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a80dda5-b492-48ab-8b34-b94bc2634e93",
   "metadata": {},
   "source": [
    "The class [Quaternion](https://ahrs.readthedocs.io/en/latest/quaternion/classQuaternion.html) is also subclassed from [NumPy Arrays](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html), and expands its attributes and methods describing the quaternion:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "50bedc21-ed0f-4424-bcce-6f50a0532e6b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Quaternion.all()               Returns True if all elements evaluate to True.\n",
      "Quaternion.any()               Returns True if any of the elements of `a` evaluate to True.\n",
      "Quaternion.argmax()            Return indices of the maximum values along the given axis.\n",
      "Quaternion.argmin()            Return indices of the minimum values along the given axis.\n",
      "Quaternion.argpartition()      Returns the indices that would partition this array.\n",
      "Quaternion.argsort()           Returns the indices that would sort this array.\n",
      "Quaternion.astype()            Copy of the array, cast to a specified type.\n",
      "Quaternion.byteswap()          Swap the bytes of the array elements\n",
      "Quaternion.choose()            Use an index array to construct a new array from a set of choices.\n",
      "Quaternion.clip()              Return an array whose values are limited to ``[min, max]``.\n",
      "Quaternion.compress()          Return selected slices of this array along given axis.\n",
      "Quaternion.copy()              Return a copy of the array.\n",
      "Quaternion.cumprod()           Return the cumulative product of the elements along the given axis.\n",
      "Quaternion.cumsum()            Return the cumulative sum of the elements along the given axis.\n",
      "Quaternion.diagonal()          Return specified diagonals. In NumPy 1.9 the returned array is a\n",
      "Quaternion.dot()               <No description found>\n",
      "Quaternion.dump()              Dump a pickle of the array to the specified file.\n",
      "Quaternion.dumps()             Returns the pickle of the array as a string.\n",
      "Quaternion.fill()              Fill the array with a scalar value.\n",
      "Quaternion.flatten()           Return a copy of the array collapsed into one dimension.\n",
      "Quaternion.from_DCM()          Quaternion from Direction Cosine Matrix.\n",
      "Quaternion.from_angles()       Synonym to method from_rpy()\n",
      "Quaternion.from_rpy()          Quaternion from given RPY angles.\n",
      "Quaternion.getfield()          Returns a field of the given array as a certain type.\n",
      "Quaternion.is_identity()       Returns a bool value, where ``True`` if quaternion is identity quaternion.\n",
      "Quaternion.is_pure()           Returns a bool value, where ``True`` if quaternion is pure.\n",
      "Quaternion.is_real()           Returns a bool value, where ``True`` if quaternion is real.\n",
      "Quaternion.is_versor()         Returns a bool value, where ``True`` if quaternion is a versor.\n",
      "Quaternion.item()              Copy an element of an array to a standard Python scalar and return it.\n",
      "Quaternion.itemset()           Insert scalar into an array (scalar is cast to array's dtype, if possible)\n",
      "Quaternion.max()               Return the maximum along a given axis.\n",
      "Quaternion.mean()              Returns the average of the array elements along given axis.\n",
      "Quaternion.min()               Return the minimum along a given axis.\n",
      "Quaternion.mult_L()            Matrix form of a left-sided quaternion multiplication Q.\n",
      "Quaternion.mult_R()            Matrix form of a right-sided quaternion multiplication Q.\n",
      "Quaternion.newbyteorder()      Return the array with the same data viewed with a different byte order.\n",
      "Quaternion.nonzero()           Return the indices of the elements that are non-zero.\n",
      "Quaternion.normalize()         <No description found> (list index out of range)\n",
      "Quaternion.ode()               Ordinary Differential Equation of the quaternion.\n",
      "Quaternion.partition()         Rearranges the elements in the array in such a way that the value of the\n",
      "Quaternion.prod()              Return the product of the array elements over the given axis\n",
      "Quaternion.product()           Product of two quaternions.\n",
      "Quaternion.ptp()               Peak to peak (maximum - minimum) value along a given axis.\n",
      "Quaternion.put()               Set ``a.flat[n] = values[n]`` for all `n` in indices.\n",
      "Quaternion.random()            Generate a random quaternion\n",
      "Quaternion.ravel()             Return a flattened array.\n",
      "Quaternion.repeat()            Repeat elements of an array.\n",
      "Quaternion.reshape()           Returns an array containing the same data with a new shape.\n",
      "Quaternion.resize()            Change shape and size of array in-place.\n",
      "Quaternion.rotate()            Rotate array :math:`\\mathbf{a}` through quaternion :math:`\\mathbf{q}`.\n",
      "Quaternion.round()             Return `a` with each element rounded to the given number of decimals.\n",
      "Quaternion.searchsorted()      Find indices where elements of v should be inserted in a to maintain order.\n",
      "Quaternion.setfield()          Put a value into a specified place in a field defined by a data-type.\n",
      "Quaternion.setflags()          Set array flags WRITEABLE, ALIGNED, WRITEBACKIFCOPY,\n",
      "Quaternion.sort()              Sort an array in-place. Refer to `numpy.sort` for full documentation.\n",
      "Quaternion.squeeze()           Remove axes of length one from `a`.\n",
      "Quaternion.std()               Returns the standard deviation of the array elements along given axis.\n",
      "Quaternion.sum()               Return the sum of the array elements over the given axis.\n",
      "Quaternion.swapaxes()          Return a view of the array with `axis1` and `axis2` interchanged.\n",
      "Quaternion.take()              Return an array formed from the elements of `a` at the given indices.\n",
      "Quaternion.to_DCM()            Return a Direction Cosine matrix :math:`\\mathbf{R} \\in SO(3)` from a\n",
      "Quaternion.to_angles()         Return corresponding Euler angles of quaternion.\n",
      "Quaternion.to_array()          Return quaternion as a NumPy array\n",
      "Quaternion.to_axang()          Return equivalent axis-angle representation of the quaternion.\n",
      "Quaternion.to_list()           Return quaternion as list\n",
      "Quaternion.tobytes()           Construct Python bytes containing the raw data bytes in the array.\n",
      "Quaternion.tofile()            Write array to a file as text or binary (default).\n",
      "Quaternion.tolist()            Return the array as an ``a.ndim``-levels deep nested list of Python scalars.\n",
      "Quaternion.tostring()          A compatibility alias for `tobytes`, with exactly the same behavior.\n",
      "Quaternion.trace()             Return the sum along diagonals of the array.\n",
      "Quaternion.transpose()         Returns a view of the array with axes transposed.\n",
      "Quaternion.var()               Returns the variance of the array elements, along given axis.\n",
      "Quaternion.view()              New view of array with the same data.\n"
     ]
    }
   ],
   "source": [
    "describe_methods(q)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e366e163-9b17-42f4-b883-54ae9b69d0b3",
   "metadata": {},
   "source": [
    "For a detailed description of each method and attribute, please check the class' [documentation](https://ahrs.readthedocs.io/en/latest/quaternion/classQuaternion.html)\n",
    "\n",
    "Here are the available attributes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "ca36f3ad-99d4-4b38-9aeb-db9b1d26290a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Quaternion.w =\n",
      "0.9238795325112867 \n",
      "\n",
      "Quaternion.x =\n",
      "0.0 \n",
      "\n",
      "Quaternion.y =\n",
      "0.0 \n",
      "\n",
      "Quaternion.z =\n",
      "0.3826834323650898 \n",
      "\n",
      "Quaternion.v =\n",
      "[0.         0.         0.38268343] \n",
      "\n",
      "Quaternion.conjugate =\n",
      "[ 0.92387953 -0.         -0.         -0.38268343] \n",
      "\n",
      "Quaternion.conj =\n",
      "[ 0.92387953 -0.         -0.         -0.38268343] \n",
      "\n",
      "Quaternion.inverse =\n",
      "[ 0.92387953 -0.         -0.         -0.38268343] \n",
      "\n",
      "Quaternion.inv =\n",
      "[ 0.92387953 -0.         -0.         -0.38268343] \n",
      "\n",
      "Quaternion.exponential =\n",
      "[2.33683151 0.         0.         0.94063915] \n",
      "\n",
      "Quaternion.exp =\n",
      "[2.33683151 0.         0.         0.94063915] \n",
      "\n",
      "Quaternion.logarithm =\n",
      "[0.         0.         0.         0.39269908] \n",
      "\n",
      "Quaternion.log =\n",
      "[0.         0.         0.         0.39269908] \n",
      "\n"
     ]
    }
   ],
   "source": [
    "attribute_list = ['w', 'x', 'y', 'z', 'v', 'conjugate', 'conj', 'inverse', 'inv', 'exponential', 'exp', 'logarithm', 'log']\n",
    "for attribute_name in attribute_list:\n",
    "    print(f\"{q.__class__.__name__}.{attribute_name} =\")\n",
    "    print(q.__getattribute__(attribute_name), '\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "22ce1e80-f552-4cdd-a273-7574f7ebe5ab",
   "metadata": {},
   "source": [
    "We cannot visualize the four-dimensional quaternion, but we can represent it in three-dimensions if we convert it to a DCM. Then, we can visualize it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "af1f0443-534a-42a6-9f4b-755bbd9760ba",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1c2b893547fc4b79992d273a77f473f3",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "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KCxduhT//ve/UV1djYsuuggXXXSRpR2ys2bNwqhRozBjxgxUV1dj6tSpmD17NtavX4+WLVvW237ZsmXYv38/jjvuOHg8HnzwwQe44447sGDBAgwaNMiydRP2hgQgQRCypNNp9O/fH61bt8acOXOExw8ePIiTTjoJo0aNwqOPPlq09Wm1vZDj8OHDaNmyJWbPno1hw4aZuNrSged5/PDDD5g7dy5qa2vx+eef45RTThFqCrt164YDBw7ghx9+QNeuXYXInxbEzRjMXkau/q4Y8DyPBx98ELNmzcKnn34qjEfbtWsX5s2bh9raWnAch3/84x+WranQGx0AOPXUUzF06FA88sgjZi6VKCFIABIEociGDRvQo0cPvPTSS7jqqqsAAKNGjcLXX3+N//znP0W1ifjpp5/Qrl07rFixIstg+q677sLy5cvx73//O+8+xo0bhw8//BDfffdd3ihWOcLzPPbu3Yv58+djzpw5WLJkCTp06IDDhw+je/fueOeddwqu7VNjL2MVPM/j6aefxvTp07F8+XKccMIJstsxf0ErKPRGh+d5LF26FDU1NZg7dy4GDhxo8oqJUoFqAAmCUKRbt2544oknMGHCBOzcuRPz5s3D22+/jddee63kPcKeeOIJvP3226itrSXxpwDHcWjRogXGjh2LBQsWYOPGjeB5HplMBp999hlOOeUU3H333VixYoXu2j5x/V0gEIDT6bRkoocUnucxY8YMPPPMM1i0aJGi+ANgaSdtrhFvu3btUnzewYMHUVFRAY/Hg6FDh+K5554j8UdkQTYwBEHkZMKECaitrcU111yDb775Bg8++CC6d+9e7GXpmlHMmDx5Mp544gl8/PHHOOWUU8xcZoNi6tSp6NChA+bPnw+e5/HRRx+htrYWl112Gbxer+A12L9/f103CFJ7GRYZTCQShk70kMLzPF5//XU8/PDDWLBgAXr27Gno/otBo0aNsGbNGoRCISxZsgQTJ05Ep06dcPbZZxd7aYRNoBQwQRB5WbduHY4//nicfPLJ+PLLL20zBUHL5APGU089hUcffRQffvghTjvtNCuXW/JEIhEAQCAQyHo8mUxi2bJleO+99zBv3jzEYjEMGTIENTU1OO+88+ptrxWe55FMJpFOp7PsZYwSg7W1tbjxxhvx3nvv2a5JwohaVwC47rrr8MMPP+DDDz80aaVEqUEpYIIg8jJz5kwEAgFs2bIFP/74Y7GXIzBx4kS89NJLePXVV7F27VrcdNNNCIfDGDNmDIC6esV7771X2P7JJ5/EAw88gJkzZ6Kqqgq7du3Crl27EAqFivUWSopAICAr5txuNwYOHIgZM2bgxx9/xPz589GyZUvce++9qKqqwlVXXYVZs2bh4MGDutK5HMfB4/Fk2cuk02lEIpGC7WU++ugj3HDDDfj73/9uO/EHAB6PBz179sSSJUuExzKZDJYsWZJV+5qPTCZTdCsbwl5QBJAgiJysWLECZ511Fj766CP86U9/AgB8/PHHRe/WZGiZUVxVVYVt27bV28ekSZPw0EMPWbjq8iCTyeCrr77CnDlzMG/ePHz//fc455xzUFNTg6FDh6J58+YFHUdSexk23o01kuTj888/x29/+1s8//zzuOaaa3Svw2y0jnh7/PHH0atXL3Tu3BnxeBwLFy7EPffcg7/+9a+47rrrivxuCLtAApAgCEUikQh69OiBwYMH49lnn8XWrVtx8skn46mnnsJNN91U7OURJQTP81i/fr3gNfjVV1+hb9++qKmpwfDhw3H00UcbIgbT6TSSySQA5fFuALB69WoMGzYMjz32GMaNG2ebGxoltNzo/OEPf8CsWbPw448/wu/347jjjsOtt96Kyy+/vIjvgLAbJAAJglDk1ltvxcKFC/H1118Lqb8XXngBd955J7755htUVVUVd4FEScLzPLZv347a2lrU1tZixYoV6NGjh+A12KVLl4IFmdReZubMmWjZsiUuuOAC7NixA4MGDcJdd92Fu+66y/bijyDMgGoACYKQZfny5Zg+fTr+7//+L6vu68Ybb0S/fv0wduxYS+w5iIYHx3Ho0KEDbrvtNixbtgw//PADrrvuOvzzn/9Enz59UF1djUceeQT//e9/kclkdL2G2F7G7/cjkUhg8uTJ6NChA/r374/TTjsNY8aMKbr40zLi7aWXXkL//v3RtGlTNG3aFAMGDMi5vVnwPI8BAwbI1kw+//zzaNKkia1qhQkFeIIgCMIUpk2bxnfo0IH3er18nz59+H//+9+qnvfWW2/xAPgRI0aYu0Cbkclk+H379vGvvfYaf9FFF/GBQIDv2LEjf8stt/BLlizhDx06xIfDYd1/NmzYwLdr147v168fX11dzTudTv6ss87ip06dym/bts3y9/v222/zHo+H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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=640.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dcm = q.to_DCM()\n",
    "plot3(frames=dcm)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d4e7c17b-499a-4792-a1e0-a1a7e7d1e4c6",
   "metadata": {},
   "source": [
    "Quaternions are very versatile and, contrary to modern myths, very easy to use. For example, if we require the opposite. We merely negate the vector part. This \"opposite\" rotation/orientation is called the [quaternion conjugate](https://en.wikipedia.org/wiki/Quaternion#Conjugation,_the_norm,_and_reciprocal)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "a61d58f5-9899-4800-ad8a-f72ee0942ead",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Quaternion conjugate:\n",
      " [ 0.92387953 -0.         -0.         -0.38268343]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bbaf4f01291643fc97ba401e86892255",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC3LElEQVR4nOydd5wU5f3HP9vbHS3IUYJSYo0KCQpiN54iCIiaBA0KorGCokQTbJBoIlZEI4oSuxIQbCgE1AOspyiEX2JBY0FEvQNEhNs29ffH+Qyzc1tmdueZnd37vl8vXiZ7uzPPzO3t89lv+Xw9qqqqIAiCIAiCINoN3nIvgCAIgiAIgnAWEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDBKABEEQBEEQ7QwSgARBEARBEO0MEoAEQRAEQRDtDH+5F0AQBFGpyLKMZDIJAAgEAvD5fPD5fPB4PGVeGUEQRH48qqqq5V4EQRBEJaGqKiRJgiRJEAQBsiwDADweD7xeL/x+P/x+PwlCgiBcCwlAgiAICyiKAkmSNNEnSRL0H6OKokBVVaiqqglCn89HEUKCIFwFpYAJgiBMIssyRFHUxJ0e9v99Ph8AaKJQURTE43EoioJwOEyCkCAIV0ARQIIgiALoU75Aq9jzeDyQJAnxeBwAtJSv19u2t46licPhMEUICYJwBSQACYIg8qCqKkRRzKjz83g8EAQB6XQaHo8HqqpCURTIsgyPx6MJOSYIBUHQIoD64wK5U8b6OkIShARB2A0JQIIgiBwYU75M7KVSKSiKglAopAk4oxBk/zwej/bfWCyWNULIYK/PJQjZf0kQEgRRKiQACYIgDORK+cqyjFQqBa/Xq0XzctUEsuMoioJkMglJkjTxZowQ5luHURDKsoxQKJSRMs53DIIgiGyQACQIgtCRL+UrCAKCwSCCwWDGc3MJQEY6nQYABIPBrBFCK4Jw586diEQi2ro8Hk8b2xkShARBFIK6gAmCIH6EpXwVRYHX69XSuslkEoqiIBKJaF2+xaAXewAyUsaSJGk1hbkEIfuZ3++H1+vVXi+KIgRBIEFIEIRpSAASBNHuMaZ8mfjTp3yj0ajttXfFCMJsr9dfBxOEoihqzyFBSBCEERKABEG0a6ykfHljRhAmEgl4vV6tBjBbhFB/bSQICYLIBglAgiDaLblSvqlUCpIkIRwOw+8v38dkNkEoyzK8Xq+llDFDLwiN10iCkCDaFyQACYJodzAhxRo4sqV8Y7GYK+1WfD4fQqFQG9sZq4JQ3/9HNYQE0f4gAUgQRLvCmPJl4k8URaTTaQQCAYRCoTKv0hylNpUwj0GGsamEPYcEIUFUHyQACYJoNyiKok3lcGPKt1SsCELmL5jt9QzmP0iCkCCqj8r9pCMIgjBJrpQvM2n2eDyIRqNVJ2TyCULW5AIgb8qYTSNhrydBSBDVAQlAgiCqGlVVkU6nIYqi5p9XqSnfUtELQlbrFwqFLNUQZhOE8XhcG41HgpAgKgMSgARBVC0s5ZtOp6EoCoLBYFWlfEvFbMqYibpcgpAdw+/3Z0QI9T+n0XUE4S7a7ycfQRBVS7aULxM3qVQKAKoy5VsqdglCY4RQkiSIophTELLHCYJwDhKABEFUFdm6fBVFgSRJkGUZgUAAwWCQBIcJzApCSZK0CKC+icSKINSnjUkQEgR/SAASBFE15OryTafTSKfT6NSpU1WkfMsljnIJwkQiAVmWtYYaFiE02syYEYSqqsLn8yEYDJIgJAiOVP4nIUEQ7Z58Xb6pVAqyLCMSiVS8+DPatpR6rFJFlT6dy8bT6SOEsixbFoSpVAqCIGivpQghQfChsj8NCYJo9+QydpYkCalUCn6/H5FIRPs5wY9CKWOzgjAQCCAQCBRMGbP/kiAkCOuQACQIomLJl/IVRRGhUAiBQACiKJZ7qe2SYgSh8fVWaghJEBKEeUgAEgRRcbCUryRJGeKvHF2+ZtKyLC3d3jEjCAVB0ERcMTWERkHIOpVJEBJEJiQACYKoKMykfEOhEG34DlJsbaJREAJAPB7XRF0xNYR6QcheHwwG2/gQ0vuDaO+QACQIomJQFEXb2PWbuDHlSziPXYKKiT32e5RlueimEhZdZP/Yc4zTSkgQEu0REoAEQbieQilfVVULpnzt7KCtBuzoAnYCY4TQiiBkr2fd3yxCyI5hNLYmQUi0J0gAEgThaijlS+gxKwh9Ph9kWTaVMiZBSLRHSAASBOFaKOWbSaVE7ZwklyCUZVlrCFIURXseCUKCaIUEIEEQriNXypcZBSuKQrN8iazoRZ5+sgjrMNZHCK0IQkEQIAiC9r4jQUhUOiQACYJwFWZSvtFolDbcKsXuKCcbK8fQRwitCkJ97Wk6nUYqlYLX6yVBSFQkJAAJgnANlPKtTCopNZ0vZWxGEOqjzixCSIKQqERIABIEUXZYmi2VSiGVSqGmpqZNyjcSibTp8CSKpz2YU5sRpmYFIXuP6jFOHNELQlZ/mG2WMQlCwg2QACQIoqzoU75sw/Z4PJog9Pl8lPIlHCOXIEyn0xAEAS0tLRnRwWwpY3YcEoSEmyEBSBBE2TCmfNlGyArug8FgRv0WUf24LZ3MRJ7H44Hf70cwGNREoSiKWpOJVUH4/fffIxgMav6FgUCABCHhKNUd/ycIwpXoOyv19X4s5SuKIiKRCIm/CqE9mWyzppJIJIJYLKaVJrCIdUtLC5LJpPbe1mOsL2Tij73vW1pasHPnTuzcuROJREI7RjH397XXXsOoUaPQs2dPeDwePPfccwVfs3r1avzyl79EKBTCz372MzzyyCOWz0tUDiQACYJwFJbyFQRBq0NjKd9EIgEAiEajVO9XYVR7xCpXZNIuQcgigNkE4dKlS3HDDTdYWm88HseAAQMwZ84cU8//4osvcPLJJ+O4447D+vXrcfnll+P3v/89VqxYYem8ROVAKWCCIBwjV5cvS/myTbDaxUSx2JkedWvUzu5rdPq9lK+pRJ8yZiUOZlLGGzZswJtvvmlpHcOHD8fw4cNNP3/u3Lno27cv7rjjDgDA/vvvjzfeeAN33nknhg0bZuncRGVAEUCCILiTL+WbTCa1lG8oFCr3UrngVrFFQps/2SKEfr/fUoQwmUwiGo1yXWdjYyPq6+szHhs2bBgaGxu5npcoHxQBJAiCK7mMndkG6PV6tS5f4wZYTZDYqmzsiiayJo9wOIxYLAZFUaAoCiRJytlUkkqluAvApqYm1NXVZTxWV1eHnTt3IplMIhKJcD0/4TwkAAmC4EahlG+ld/mKoohEIqEZ/7LNvb3hts5dhlvXpYeJPGZwLstyhiA844wz8OWXX2KPPfbAO++8g0GDBsHvp62bKJ3290lFEAR33Nbla7cIUFUV6XQa6XQagUAAXq8XkiQhkUggHo9r16goiq3nrXZYqtyNos0pMcnEIEsZ//Wvf0XPnj3x3XffYfjw4ejcuTM2b95s+3m7d++O5ubmjMeam5vRoUMHiv5VKSQACYKwFVVVIUlSzi5fVVXzdvm6tV6OweoWZVlGNBpFIBDIqPEKh8NtBCEbZUeCkACsCd0BAwZg7733xq9//Wts27YNb775Jnr16mX7moYOHYqGhoaMx15++WUMHTrU9nMR7oDiyARB2EaulK8oilq0rJIbPWRZRjKZhN/vz3odbMoDE7csEipJkiYIme0HSxu7MdpVLVRCCtgMiUQC0WgUXq8XBx98sKnXtLS04NNPP9X+/xdffIH169ejS5cu2HPPPXH11Vfj66+/xmOPPQYAuOiii3DPPffgj3/8I84991ysXLkSTz31FJYuXcrlmojyQwKQIIiSYdMNWJRLn/JNp9OQJAnhcLiia5ey1S0Wilbqp0ew0V96S5B0Op1hDMwmTlQSdqZt20sK2OqximnCeO+993Dcccdp/3/q1KkAgAkTJuCRRx7Bt99+i02bNmk/79u3L5YuXYorrrgCd911F37605/iH//4B1nAVDGV+2lMEIQrYClfSZIA7O7yVRQFyWQSHo9Hi15UIkzEyrKsmfwWCxOETAizCCGrl2TiOZcgrJaIlpNUw/0qpgv42GOPzfsFJduUj2OPPRb//ve/rS6PqFBIABIEUTT6qB8ATeRVS8qXiVi9VY2dGAWhoiiaIEyn0xmWIGxChF1Uu5h0cy2pExFAgigECUCCICzTHlK+kiQhlUo5KmK9Xi+8Xq9mCaIXhKIoZvWJI6qfZDKJWCxW7mUQVUblfjoTBFEW8qV8U6kUABSd8nVLRIp17ZZbxBoFIbOeMY4VqxZByGPUnRvHylEEkHADJAAJgjANi/q1tLRkNEPoU77BYNA1Qs4qzKdQURRX1i0yMcjEgH7OrCAI2ugwJ02p3dy4UQ0w2yHek0CI9gcJQIIgTKGPOrGh9dWU8mWj6Xw+H5d6Px4Yo35MDEqShHQ6nWFL016nlNhFOWsmSQASPKjcT2uCIBzBmPJl4o81SADFp3zdQrWMpjN6ELIawmyC0I2m1OVMszpJMSlgEoCE3ZAAJAgiJ7m6fFnKMRwOIxQKuXajLYSdFi9uI5cpNYvksqkswWCQTKldDtUAEjwgAUgQRFbypXzT6bQ29sxunLLvMPoUVrv4yWY5w5pLSjGldnOkzU7KdZ2SJEEURYoAErZDApAgiAzypXxZl28kEqnoej+9xUslN62UAhOE+gihJElQFEUzpWZ1g5U4pcTNwtTK2hKJBACQDQxhO5X7CU4QhO0oigJJkiDLMoDdKV8mmNgM3FQq5Wqj3Xwwi5dQKKRFwIhWQai/H/lMqZkwtFtguVW0lbPTmdXZUgqYsBsSgARBAMid8hUEoSoEE0v5utXixW0UMqVmghCA9oWBMIeqqqbff4lEAl6vt6In6hDuhAQgQbRzzKR8K10wybKMZDKJ2tradlHvx4NcgpDVhLa0tMDn88Hv92tp43Li1miiVdgc4Gq4FsJdkAAkiHaMqqoQRVGL4DDxZ0z5GjcfXpsRO66dm7cgCEgmk/D7/VyaVpzETTYpTBAy8+lQKKRZzsiyXFUehOWcKpJIJBAOh0kAErZDApAg2inZUr5A9dTI6U2qI5GIFuEk+GDFg7DSBaGTJBIJqv8juEACkCDaGflSvul0uipq5Izpa9bcQjhDLg9C9nvIJQjdmrYt57ooBUzwggQgQbQjzKR8zW42bu0Czpa+duPUi/YEs5xhGE2pmQchSx27VQjahZXrIxNoghckAAmincA2W0VRMiw8qiXlC1TXtVQKxYg1oyk1E4TJZBKCIABAUabUpa7LjVAKmOAFCUCCqHKMKV8m/lRVRSqVgqIoFT8GTX8tbkxfV4sY4QUThEy4h0IhrZnEDabUdv/+rDaBkAAkeEACkCCqmFwpX1mWkUql4PP5Kr6+iF2L1+ut+GtxinIaG+dD35AUCASyehA6ZUrtFlgNIEHYDQlAgqhScqV8BUGAIAgIBoMIBoNlXmVpsPqxargWIjdmTan1/9xkmVMKVANI8IIEIEFUGayeqqWlRauzqsaUL7N4CYfDFT2X2CrVGumyQi5BKEkSRFEE0NoM5PP5EAgEKrokIJFIUASQ4EL7+dQkiHaAPuUrSRICgUBGyteuNCkTlOWgmiaUWMWtndd2YWVEmh6jIJRlGYlEQvtvJXsQUgqY4AUJQIKoEhRF0Qrm9VMaKjHlmytCUmhCCeE8bmxw0Uf+AoGAq0yprdZfJhIJdOrUieOKiPYKCUCCqHBYypfVQum7fNkg+UpJ+ebbFMnixT6qPZKoJ5cptV4Qsi9MbJax8X1Y7hrAnj17luXcRHVDApAgKhhjly8Tf8xTLRwOV3xnbDXVLrqNSn5fFCKXaMvlQWg0pdZHCO1eF1uHGVKpFDWBEFwgAUgQFYox5Wvs8g0EAohEIhW9yVeCxYsbU6CVSjnuZT5ByP6+WEOJ3+933IOQuoAJXlROJSxBEAB2Gzuzub1GY2dRFBGJREzV+z30kBdDhgRw003ui6qJoohkMlkVQpaoHPSm1NFoFNFoFIFAQOs8j8fj2sQSSZIsp9OtilzqAiZ4QRFAgqgg8qV8s0XKCm1OW7d68H//58Uvf2ltE+PZBaxP+dpl8ULikR/VHgH1er1ahDAUChX0ILTblJq6gAleUASQICoERVE07zuPx6NtNCxS5vf7LUfKmLb6cUpc2WHXyEa6tSd/P8K96EUu6ywOh8OIxWLa+5TZE+kjhOyLWq5jmaHYFPCcOXPQp08fhMNhDBkyBGvWrMn7/NmzZ2PfffdFJBJB7969ccUVV2h2S0R1Qp+uBOFy8nX55jNDNrPJuEkAMosX1rVcSV5tTlGsT16241Q7TkUms3kQsrpBQRC0L2usftAKqqoimUxajgAuXLgQU6dOxdy5czFkyBDMnj0bw4YNw8cff4xu3bq1ef78+fMxbdo0PPTQQzj88MPxySef4JxzzoHH48GsWbMsnZuoHOgTliBcDEv5sukGTPwpioJEIgFVVRGLxYqOlJUiAO0UEYIgIJVKIRQKkb+fQ7jxHrs1nWxlXcyDMBKJoKamBuFwGD6fD5IkIZFIIB6Pa5ZGiqIUPF4ymUQsFrO03lmzZuH888/HxIkTccABB2Du3LmIRqN46KGHsj7/rbfewhFHHIHf/e536NOnD0488USceeaZBaOGRGVDApAgXEq+lG8ikTCV8i0k0vz+1p9nyVQ5AotwsMaVSvP3k2VZ+x2Z2cyrEbeKNrfg8/kQDAYRiUQQi8UQCoXg9XozBCFr3sr2HrKaAhYEAWvXrkV9fb32mNfrRX19PRobG7O+5vDDD8fatWs1wff5559j2bJlGDFihMWrJSoJSgEThMtgKV8mKsymfIuBZaTKkQKuBIuXfLANXFVVCIKgpWf1DQGVdk3VhBuFKTOlZoIwlym1z+eDIAhIJpOWU8Dbtm2DLMuoq6vLeLyurg4bNmzI+prf/e532LZtG4488kjNZeCiiy7CNddcU9L1Eu6GIoAE4SL0KV99vR9L+VppjnBzDWChxhW316il02mkUimEw2HNbDsWi2nWO4IgtLELIQrjRtHGE73lDIsQsvfQ22+/jX322QepVAp33HEHlixZgh07dnBZx+rVq3HTTTfh3nvvxbp16/DMM89g6dKluPHGG7mcj3AHFAEkCJegKIpm8aK3kmDTCQKBAILBoK0b5G4BaO2Yxa6BRxTTSfQWNSwqIwgCgLaGwnq7kHQ6DQAIBALcJkwQ/LBTmOY7lv49dMIJJ+D//u//cNBBB0FVVfzxj3/EEUccgQcffDDv8bt27Qqfz4fm5uaMx5ubm9G9e/esr7n++utx9tln4/e//z0A4KCDDkI8HscFF1yAa6+9lhqyqpTK+vQliCqEZ8q3cA1g63+dCFAxmwwAiEajFbepKIqCZDKZkbLOV/en7w6VZVmL7Oi7Q43+cU5ht6BxI9UQTWTNH3fffTc6dOigNYPlIxgMYtCgQWhoaMCYMWMAtL53GxoaMHny5KyvYTPD9ehnJxPVCQlAgigjuYydnRJLTnUBM4sXlu6qtI2ZrT8QCCAUChV1DFbbxaZKsAihsfaLWYZU0j2qpLWWGyvCNJlMAoAWbTbbJDV16lRMmDABhxxyCAYPHozZs2cjHo9j4sSJAIDx48ejV69emDlzJgBg1KhRmDVrFn7xi19gyJAh+PTTT3H99ddj1KhRFKmuYkgAEkSZyJXydVIsOREBZLOJQ6FQxXX5AtAsO+xcvz76B2TOn2Up//bYUOLWqF251pVMJhEOhy1/ARw7diy2bt2K6dOno6mpCQMHDsTy5cu1xpBNmzZlHPO6666Dx+PBddddh6+//hp77LEHRo0ahb/97W+2Xg/hLjwqxXcJwlHYZp9IJABAq+uzuz4ulUrB4/HkjVi9+KIXv/51AEOGKHj11cLpJQZrVMnXnWgc6WY2khCPxy093wys49iKn5qZ9SuKoqVz8wkEq9fEOjGZKGTjxkRRRDAYRDgcNn0d2WBpaDtGjLFmHjvEcUtLiy0Rb1VVEY/HEYvFbBFudr4nWee7mVnd69evx+jRo7F9+3ZXCmOisqEIIEE4iD7lK8uyFtkpV30c05gmSosyKLQZZauXqyTKvX6Px4NAIKCJKpYuTqVSSKVSWtSYTZeotHrKSqOcEUCaA0zwggQgQTiEMeXLNm1eKV8WVcyHz6f+uAZbTgkgs2u52Hq5cmJHvZ/dsPcLiwx7vd6M+kF9SrnS6gcZ7L1aiWu3gtUawGLmABOEGUgAEgRn8nX5CoIAr9dbtvo4O2sA3W7xYqbapVLqFUutH3RrrZ1dVIuYTCQSCIfDFX8dhDtx1yc0QVQZZrp8a2pqypbCs6sLuNItXvT1fpFIpKI6H43+g6x+kNUnKorC1W6GxCQ/UqkUpYAJbpAAJAhOFOryZYXg5RRLxRpB65FlWWsEsCuF7WRvWrnr/eyG1Q8y9IbUbMIM+8fm0lYjlf57BFojgCQACV6QACQIm2Eeb2y4u1786S1FFEXhKnTM1ACWmgJmKdNgMGiqq9Ft6OsvS+2sdSt6Q2pgd0e0IAhIJBJlNaTWY2ekzc6/K7sjgFZrAKv1fUmUHxKABGEjhVK+qqpqKVI2HqycsEDRj8s1DUuZAqi4lCmjUur97Mbn82mR53A4nNOQuj35D7oV6gImeEICkCBswqqxs5kIXanwiACylCkTs5UmEFiziizLFSte7SKfIbW+flAvCrM1lLgNN9clWo0AkgAkeEECkCBKxGzK141RJqsCkHWZMv85t26yuTA2q1Ta+nljbCjR1w+m02nNkFr/j72uWimnmCQbGIInJAAJogRypXzNdpXyrgEshFkByCxrRFHUbCnYnNJKgU1fqdR5xOXAWD+oTxezCSjpdFr7MlBK/aCbo3Z2QhFAwi2QACSIIsmV8mVF9j6fz/VRJjNG0KqqZgylZybEvOBxvwRBQCqVQpcuXcoSiXWbuCn2i0e2hhJBECBJEiRJco0htZ33u9wRwE6dOpXl3ET1QwKQICySL+VrpSvWiU2l1BpAvZitxKgZq/djkUs3puGtYuekmFJhDSXhcFj7YmDFkLq9YbWjmGxgCJ6QACQICzCTXelHxWQ15ZvteOUknwDMJ2YrYSM31vux/13JlPv9kg0WIctlSF2oftB4HGI3qVSKagAJbpAAJAiTFEr5us1I2EoNoCx7oKqAx1MdXbLGzmtFUcq9pHYHM6Q21g/qDalZqtjN7zG708mA+S9QVANI8IQEIEEUwK6UrxE3CEX9uF5ZBrxed0zFKCXS5bS/H4t+EfnJVj+o9x9kAjEQCJTVkNpNUBcwwRMSgASRB7tTvtmOzxOzNYAAkEpJAFIIBAIIhUIlH9tpqiFy2Z4w+g+m02mk02lbDKmrJZ2cTCYRi8XKvQyiSiEBSBA50Ef9AGgRCbemfItBLwBbWlLo2jWs1XBVEvp6v0gkQtGjAtgl3u0ak8a6h4PBICKRSE5Dav24Oqf+7uweK2dl3RQBJHhSeZ/0BMEZtvmk02nN28yOlK8RNwhHZgMDAMFgFH5/5QknWZaRTCbz+vu54V67DTffk3yG1Pr6wVwNJTzW4zTMfolqAAlekAAkCB0s5SuKIuLxOGpra7WUb6WlFwttWq0iNwWgddi8olSe+Guv83zbG2YMqfVi0K0p4GIigCQACV6QACSIH8mW8vV4PFxTvuWqo9stnILwelUoigeiaP717B7w2GjNHI8JckmSyi7I3So2qhm9IGRNWvqGElEUtVRxqYbU5TaCJgFI8IIEIEEAGaklfVcnG39mtjHCCuUwgs4mnPx+QBDMzwMuN0Z/v/ZU70disy366B/Qeo8SiYT2hc5NhtQUASTcBAlAol1j7PJl4o91+aqqimg0WpGNEUZyCadKEoBm6v0I57CrCYQdy47jMEEYCAQQDAYtG1K7BVEUIUkSCUCCG5W/qxFEkRTq8gWAWCzGdYPgmQLWb6bMGJltivqf6c2gAXdZu+ixswGnvaOqaruJnOYypGa1vgC0VHE2/8Fy3atEIgEAJAAJbpAAJNoluVK+LGUUCAS42y84Fb1iNVG5GiUKzQMuN26q9yMqg3xfrAoZUutTynZH/q1EOZPJJAASgAQ/SAAS7Yp8KV8mMsLhVi880UpXRIlr4iEGmY2Ex+PJWyvnRgHINvD2XO/X3rD778DssYz1g3q7GWZOHQqFtDpCp764JZNJzRuRIHhAApBoNyiKotUCAbtTvoqiZBVKlVxfJstyRgop37UUIwB5dgEzqN7P/VRbU4rRf1BVVe3LiB2G1FYjgBT9I3hCApBoF5hJ+Wbr8nXbuDMz6GvlzMAyqm6KAIqiWDX1fnY2ShDOoheEgUAgpyG13+/XIoR2kUgkEIlE6H1DcIPyKURVo6qqJib04o91+abTaYTD4azij/cHrz6KZgfsmgRBQCQSMS2cWFmgGwQgS8VbvQaCcAJWOxgOhxGLxbSaVEmSkEwmEY/HkUqlMprLiiWZTCIcDlt+3Zw5c9CnTx+Ew2EMGTIEa9asyfv8HTt2YNKkSejRowdCoRD22WcfLFu2rNhlExUERQCJqoWJP5byZeLPTXVldonMbNdkVlj6/SoAj2UBaLdAZtcgyzL37utKxk2WK3ZiZ7etndeX71jG+kGjIbXRf9DKNbIUsJXrWLhwIaZOnYq5c+diyJAhmD17NoYNG4aPP/4Y3bp1a/N8QRBwwgknoFu3bli8eDF69eqFL7/8Ep06dTJ9TqJyIQFIVCVmUr5GO5RsVEIKmFm8FFsr54YmEGa94/P5EIlEKqbZI51OI5FIaGnCbDYiduK296Pb1lNOshlSs3Qxqx9kpvJmGkqSyaRlJ4JZs2bh/PPPx8SJEwEAc+fOxdKlS/HQQw9h2rRpbZ7/0EMPYfv27Xjrrbe0rug+ffpYOidRuVTGpyxBmMRKyreQUHIqQlLKJppOp5FKpRAKhRAOh7OuudDxyy0ARVFEMpnUUmuVIP5Yh7UkSQiFQloaMJFIIJFIaB3l7UEguS2SaDfFRhNZ/WAoFEI0Gs0wlE+n04jH40gmkxAEQctS6GE1gGYRBAFr165FfX299pjX60V9fT0aGxuzvmbJkiUYOnQoJk2ahLq6Ohx44IG46aabsq6HqD7c/0lLECZh4s9o8cK6fBVFsTzVw60buF6ARKPRrP5+ZjetTCNo6+soFqMor5R6P/Z+AqC9n4LBICKRCGKxmHYdgiAU3OSJ3TiVti0XzGw6FAohFotp7x3W7a6vH9y5c6dlAbht2zbIsoy6urqMx+vq6tDU1JT1NZ9//jkWL14MWZaxbNkyXH/99bjjjjvw17/+1fR5V69erX3WZvt33HHHmT4W4SyUAiaqApbyVRQlw5qh1PQob4pZD0uXer1eyzVC2ShHBJAJWKD8dZhWMFrTGAWw0UaEWQ8xsevxePJOnSDaD/kMqc8991ysWbMGHTp0wIIFC/CrX/0qaw1fqSiKgm7duuGBBx6Az+fDoEGD8PXXX+O2227DjBkzTB3j8MMPx7ffftvm8SVLluCiiy7CJZdcYveyCZugTx+iomHGzizly8Qf6yYtlB7NhxtTwPp0qRmLCDPX4LQNDPMo9Hq9jtb7lRrNZffeyvuJbfAs6hMOh9t1urgScbKhhEWSH3nkEYwYMQKRSAS33HILevTogY8//jjvsbt27Qqfz4fm5uaMx5ubm9G9e/esr+nRowf22WefjIar/fffH01NTRAEwdQ1BYNBdO/ePePf999/jyuvvBLXXHMNfvOb35g6DuE8JACJioWlfNnEDmPKV5blnOlRK+dwAzzTpcVGAIvZFI31frmO4Zb7zmD3PhKJlPR+0m/y1ZAudmOqFXDvusxSU1ODnj17YujQofj3v/+NpqYm7LPPPnlfEwwGMWjQIDQ0NGiPKYqChoYGDB06NOtrjjjiCHz66acZljWffPIJevToUfRnzI4dO3DKKafg2GOPxY033ljUMQhnIAFIVCSyLGuRE5ZW83g8WmTF6ehSsZjZpEqpYQTc0QRSqfV+LFXNvkzYaU2Tq0mA2eEwQWiHpxxRHHabeFudBMJqAPfYYw9Tr5s6dSrmzZuHRx99FB999BEuvvhixONxrSt4/PjxuPrqq7XnX3zxxdi+fTumTJmCTz75BEuXLsVNN92ESZMmFXF1rZ9Vv/vd7+D3+/Hkk09WtAhvD1ANIFFRsJQvswzR1/ul02mIoohQKFRSlIbBUsnlxIkaRt4CsFLr/ZjwtqvWshD5asKYpxybjhIIBGhzrXISiQS6dOli6TVjx47F1q1bMX36dDQ1NWHgwIFYvny51hiyadOmjL+/3r17Y8WKFbjiiitw8MEHo1evXpgyZQr+9Kc/FbXma665Bo2NjVizZg1qa2uLOgbhHCQAiYpBb/GSTqdRU1OTYeysqmpFCQxGLpFph6A1IxJajaCLE4CFBLLe38+NTTi5YMI714hAJzB6yrE1sb8BvcGw1cikG1Okdq3JzaP3rFxjKpUqahbw5MmTMXny5Kw/W716dZvHhg4dirffftvyeYwsWLAAt99+O5YuXYq999675OMR/CEBSFQEiqJoZqp6iwG3d/kWIpdvXyqVgqIo2qgpnvCKADLT7Uqb58tmKdsVSbYDli4OBoOIRqMZJsOsBpa6i+2nnGKyGCPocrF+/Xqcd955uPnmmzFs2LByL4cwCQlAwtWwjY5N9dCPOLM75WukHClguy1eAOdrAFkHtiRJCIfDlmsWywVbtyzLjgjvUiiULmaCkUUHK+2LEbF7FJzb2bZtG8aMGYNjjz0WZ511VhvPQZ/Phz322KNMqyPyURmfzES7xDjLl9X7sdosj8fDfaN2QgCyc5QrYrZbAJZuk6OPXlZSOl5fp1gJzUNGCo0gKyVdnA83mjfbGbWz+/oA8+uqlAjg0qVL8eWXX+LLL79Ejx492vx8r732wsaNG51fGFGQyvqUI9oNiqLk7fIF4PoojRmyjamzU/w56QPI/P08Hk9Fib9y+RLyolB3cUtLi1ZLSN3F7iWZTCIWi5V7GQWZMGECVFXN+Y/En3uhCCDhKrKlfI1dvkwg8U5rOZE2Y7WNrLarHOLDjhRwpdb7sRrSSlu3FbKliyVJgiRJkGWZ0sUOUUwEMBwO81wS0c4hAUi4hlwp32xNEWzyB+/NimcKWJIkS1M9ioVnDSCrmxNFsaLq/QA4tm63daX6fD7NiNvr9TqWLnYKN6alizlvsV3ABGGWyvm0JqoafZevPuqntxHRN0U48aHM8xys05RFnsopDooVgKxujv1uKiV1WknNHrzJNrtY312sqip8Pp8j3cVutKaxE6vXl0gkKiIFTFQuJACJssJSvpIktRF/RpGU7bVOrM/u4+mjmczCgxfmfABb/2tFAMqyjGQyqaWu7dy4eXZfszo4AI6YO1caVruL3Sja7HzvlPP6KqUJhKhcSAASZcNKyteI2zYdM2SzeJEkqezTRqwaQbN6P96pa7thzR6V6hlZjlRyoe5iSZK0CKH+y1u5ccs69FgVk5QCJnhDApAoC4VSvmZ88HgLJzs3Eb1ocnqyhNkawB91eF70dXO8o5d2IooiUqkUunTpUrXNHrzJli5OJBLa32wp6WK31UmWG2Z1RQKQ4AkJQMJRSkn5loNSRWYlmCKbSQFn8/erFAGYTqe5WOxUMnakNlmqmH2pcYsZtRvT0oC1dTFPSqoBJHjivt2IqFpKSfkaqYQmEGO9mVubJAoJwHxR2XKnr/Ohf1/FYjEkEgnXioNKhVk1AdbMqN2ULs5Hud4v7HODagAJnpAAJBxBURRN/BWb8jXiZvFhdkYx73Fz1ppA2j63nKnrUmApNPa+IpzFandxJYhBJ9Gb3RMEL0gAElzhlfJ1Mp1kFXZdZmcUl1vI5ooAVqq/HxPfetFa7nvc3inUXayqKgRBQDgcJkGI3R3Abs0aENVB5XyqExVHvpSvHT5sTjWBmE0DFZPKdgKrRtBm5/m6cZO2Kr6J8mBMF4uiCFEUXZcuLpepdCKRQDgcduXfGFE9kAAkuMAj5avHbR+MxpSj2fW54Tr0ArDY6yg3+mYbN4nvaseOL2EsXcw8JUs1o66GOk/yACScgAQgYSv5Ur5215O5Ja1X6nWV+zqYABRFFYlEouLq/VjEUlVVVzfb2IEdwsZuyxW71sSOY8aM2qn6QX2Tix3HstIFTLWrBG9IABK2USjl62YrlGwUSgFX6nUZYUbQgiBbvg4e4tVKY4w+YllJptTFUO4vCuXCandxNUApYMIJKnPHIlwHK+I2pnzZBu3xeGyNzvDuntWfJxt2Wbzw/oAvdJ9UVYWiiAACUFU/KknDZmv2IKobM93FsizD5/NpGQi3YCWaSFNACCeooI97wu2wDzheKd9yYRRQbA5upY4UYzBx7veHAZibBOIWqNmDALKni9l0kkQioaWLWcrY6t9queoJE4kECUCCOyQACVvweDzwer1QVdWR1KhTEUAjPKaVlOM69NGzSKR18xRF9wtZuzrICXdhl9Dy+Xza32UwGMyIDqbT6bJ2F1utAQyHw5xXRLR3SAAStuLk9AsnU8C8hEc5ogvM349Fz8yMgnMDxvdWpUReq6ErtZLQZyKsmFG7KV1MTSCEE5AAJGxDkiQkk0kEAgEEg8Gq2fTssq4pB/pIaS6fQjcKwGxp91QqBZ/PV9FpdzdgZxdwJYlbs93F+nRxua6PBCDhBCQACdtwshvWqRQwixZEIhFudYxOXEc+f79iBaBTvwOWvrMz7U64i3IIrVzdxfp0sSAI2vNKXZ+Vv5VEIkE+gAR3SAASthGJRKAoSrmXYRvpdBrpdBq1tbXcxJ8Tm54oipAkKWczDhOAbmwCqdRxdET5KEZM5koXp1IppFIpiKJoS7rY7LqoC5hwAvpEJSoS3uavyWQSqqpWfKOBIAhIp9Po2LFjzm5Zt6aAk8lkwXF07YlKSrdWOixdHAwGtWaMQuliO0kmk+jSpYutxyQII/SpStiG05sTj/Qjs49gqVInxB+P62ACikXP8lmlMCNotwhAlq4G+DcSEaXRXkQp6y6ORCKIxWJaHaooiojH40gmk5oPaq6/ZycmgcyZMwd9+vRBOBzGkCFDsGbNGlOvW7BgATweD8aMGWP5nETlQp+sREXCY9MRBEFrYtG78FfaBAZFUZBIJAAAsVisoIhlP3aDAGQeiz6fryImIaTTaSQSCaRSKUiSVHHvFSI/2UQbSxeHQiFEo1FEo1H4/X6tS50JQlEUiy6JSaVSlmsAFy5ciKlTp2LGjBlYt24dBgwYgGHDhmHLli15X7dx40ZceeWVOOqoo4paK1G5kAAkKha7NlvWHcuaPfSNBk5M6mBrsANJkpBIJOD3+7XRaIWO7ZYUsCiKSCaTCIVCru/0ZRFWSZK0jndBENpEg9yIG6N2dgpnp6+PdRaHw2HEYjGtbIT9Lcbjce3zxSzFGEHPmjUL559/PiZOnIgDDjgAc+fORTQaxUMPPZTzNbIsY9y4cfjLX/6Cfv36WTofUfmQACQqErs+4Fm0TFVVx1K+vBAEAalUShNQZimlC9guUqkU0ul0wXS1GzCmqLNFg1gkk23+FB0sjNtEabEUShcnEomC6WKrKWBBELB27VrU19drj3m9XtTX16OxsTHn62644QZ069YN5513nvkLJKoGagIhbKPSagDNzpJ1+8Zdqkn1bgHo/Aas9yZk9X5WIiVOY/QjNL439F5zrXOWFQiCoG3+Xq9XaxxwehIFYQ07/BJZutjn8yESiWhOCYXMqK0KwG3btkGWZdTV1WU8XldXhw0bNmR9zRtvvIEHH3wQ69evL/r6iMqGBCBRkehTp8V8QLvFXqTU68jn76c/fj7KlQIutHa3wb4w6P0I8305YJ2iwWBQE7iSJGki0s2TKMzi1nSy29bEYF8AcplRp9NpTJ8+HVu3buX6RWjXrl04++yzMW/ePHTt2pXbeQh3QwKQaFdkizjlo1wzh83ABInf7y9pbijLuBZTslbsvSkUfXXbPWczoEv5wuDxeBAIBHJu/kwc2GU8XEm4UbTZPTEl27GMZtTJZBI1NTXYunUrxo8fj7vuugtnnXUWLrvssrzH79q1K3w+H5qbmzMeb25uRvfu3ds8/7PPPsPGjRsxatQo7THWsOL3+/Hxxx+jf//+1i+UqChIABK24eQHeDGRM336zk0Rp2LWwQQJm+ebD7c1gVhZe7nhNQMayD2JIp1Oa9FBfboYqJ46OaItHo8He+yxB26++WY8/fTT+Mc//oEdO3aYaiYKBoMYNGgQGhoaNCsXRVHQ0NCAyZMnt3n+fvvth//+978Zj1133XXYtWsX7rrrLvTu3duWayLcDQlAomKxshky0eHWcWJmI148BIlTApCtXZKkijDYZhEZoHXKDc8UrX4SRSgU0urEJEmCIAhaJJr9K0UIujHaZiduvD6rEe1EIoE999wzI0JXiKlTp2LChAk45JBDMHjwYMyePRvxeBwTJ04EAIwfPx69evXCzJkzEQ6HceCBB2a8vlOnTgDQ5nGieiEBSFQ0hT5YSxUdbkoBM58xAKYjmGae4/MVZwRtZZPVi6lKMHfW1yeWw4/Q2EzCIoPpdBrxeDwjVVwuIW1nitSN2C0krRyrGCPosWPHYuvWrZg+fTqampowcOBALF++XGsM2bRpk+v/7ghnIQFIVC1GwVTshx9vAWhmY9DX+9ntkcc7AmjsnHW7YDDbHe4ULDqoqiq8Xi9CoVCb6CDPsWROwK6NaPXDlGW5qEkgkydPzpryBYDVq1fnfe0jjzxi+XxEZUMCkLANpzeefOfTb+LMqLdSKbVmrpw1gG4TU4UQRRHpdNrW+kS7v0Bks5phtiL6ZpL2aDXDo3HDDqxEE+PxOAAUJQAJwgokAImKJtuHNLN4sWMTd2rzzHYdPBsQ9Oh9AFUVsHLJ+TbJYq12yiVYeFoD8bomffQvGAxCVdWqs5opJ+V4L+pLJQiCJyQAiYrF+OFs1eLFLOVIARdT72f22Eb0WkeWM/9/MTglXO2C1/umHJixmlEUxZZmEjtx01p4YOX6WKmH2zvkicqHBCBR0TBxxsvipRybEs96v2zoBZ8klSYA7RKuTlFp67VKNquZVCqlzS3OZjVjFjc2gdidAi7HtSUSCW2ON0HwhAQgYRvlqgHkbfHiRBcwOwcPjzyzNYCAtTpA4++bzb91SriWSqU1p5QKayYJhULaNWdrJmHp4mq/H24lkUhQ+pdwBBKARMXCrEW8Xm9FpBpzwaxmUqlUWdKmxQpAPawBwS4RbrfoNhqHZxvr1t7IZjUjyzIEQYCiKK6wmqkWrKaAS5nsQxBmIQFI2IpTvnksdcdSvrzqtpyIgiiKAkEQEAgEuBkO59uAShWAbpmrbBY7xrpVG3ojagBZjagrwWqmGmoJWQSw0q+DcD/06UdUHCx6w9JYvIv2eQpaljYNBoNc6n7MHM/rBTweFarqsSQAWQQ2HA5XRPOEvtmjkiPGTmDGagaA1lBS6vvWjcLNzjVZOVYymUQkErHlvASRDxKAREWht3iRZZn7psHz+PraxXJMm9Dj9wOiaD4CqCgKEokEVFWtiGgF60z2er0VIVbdRC6rGUEQ2vgOktVM6ZAAJJyCBCBhK7xSwNmsOlj0odIwjqcTRbHcS7IkAPVdym5OBzLYWDeA/0xfnrglSsasZth9DIfDbaxm9LWDTq65XFE7O49FTSCEU5AAJFwP69Zk0RunN0E7RWa28XSiKJZdyLJSOFnO/zx9l7LX69Wuxa2wFHsgECh7lLVayWY1w2YXMyPqYq1mqglKARNugwQg4Wrs7i61irF7tBTKYZNidv36aSBA7qkkLGrp8/kgF1KLRWLXfTG+dwRBsOW4lY5dka1sX1r0zSShUChnM4nRasbONVW6yCcBSDgFCUDClegFR65uTY/HA0VRyrA66/D2KiyVfPOAWfqd1ftVQhSn0jqTK5VCYsus1QyvLxOloKqqrdOErEQAKQVMOAF9MhK2Yse372xp0kolW+TMaayMgzMKQFY/x7wWs43fcxP6MXSV/t6pNvJZzaTTaQBAMBh0vdUMbygCSDgFCUDCVVgZg+amFGo2zApZp7wT88F0qV4Ast9FIBBAKBQqz8IswGxpgOoc61Zt6KODsiwjFApBVdUMqxl97WA5an/LNQqua9eujp+XaH+QACRcg97ixewYNCeEUzGbgNvGopkdB8cEII+RdDxpb2PdqhFmIaO3mmG/V9ZMUqlWM1bEZDqdphQw4QgkAImyU6xBr9P2EmYpd+NKMQQCKgAPRNH8SDqe99/K/XZ7pLIaGhOywfO6mNUM+/LBagcLWc1Uw71OJBKUAiYcgQQgYStWP3xLtXgpd+pUj5nGlWzwTgFbqQFMJARNiFdClKXSIpWl0l47Zc1azbi1KcxqE0gsFuO8IoIgAUiUERYpKzZy49QmZuY8xvozq+Kp3EKWBfoUxcNlJB0PUqlUWZtrnKbc7xFesOsy+57LZzXD0sUA2ljNFLOucvwdsPGKBMEbEoCE4xQbKct1LCfId55KqD/Lt35RFOH1+gB44fUG4fGYv6flECXZpsIQ7Rd9MwmzhvJ4PG2sZvRRRKehCCDhRkgAErZS6EPOTosXN0QA7aj3K6dgZI03wWBrzVEuI2i3oLeloU5fwggzmmYZBX10kI1c1E8myff+KWcEkGoACScgAUg4hhWLF7OUKy1mZxSzHBijaH5/6+/CBWOJc74v9J3VxaTISCy6E6spYCvoo4PA7mYSJ61mrHxGsb9L6gImnKCydi2iYuFRrO9k55/+Q7zUer9Cx7cb470xRmFba6paf5ZtEkih4zpx/yuxs7racWMzSaHpHSz6Z8Zqxm7M3qtEIkECkHAEEoAEV4q1eHET+g9uHvV+TmyiTGDm8icsRgA6BY11sxc7R5xVMoWsZlipQSAQKKmZxCqUAiacgj5NCVvJJpZ412s5FQGs9ChUvvW7UQDSWDfCSYxWM9KPfwxGqxmWLjaL1RQ3pYAJpyABSHChVIsXMziZfkqn0/B4PNyiULxrGdms1Vzr9/tbz+8WAVgpY91YPVkgECCBWiR2foGz81is1pR1FrPooCAIWrNJqVYzRlh5BglAwgnoE4uwFZbyTafTCIfD3CczOBH5Y5MxWpslKus7k9n1uykCqCgKEokEvF6vqz0JJUlCMpmEJElIJBJIJBJaYxAvQe/We1HtsFRwJBJBLBbTyicEQUA8HkcymYQgCJBluc1rrYjSRCIBAJZtYObMmYM+ffogHA5jyJAhWLNmTc7nzps3D0cddRQ6d+6Mzp07o76+Pu/zieqFBCBhK6qqQlVVR8USr81WlmUkEgkt8scrwsNrU2dCCkDByR7sV5Vl/3IUJqb00Rc3IggCUqkUwuGwJgpYY0E6ndZEgSiKtk2ncJsRtBubQJyAGVGHQiFEo1Hts45F7+LxOFKpFERRtPw7Y81ZVmoAFy5ciKlTp2LGjBlYt24dBgwYgGHDhmHLli1Zn7969WqceeaZWLVqFRobG9G7d2+ceOKJ+Prrry2tlah8SAAStuLz+RwdI8ZrAxJFEclkEoFAwBEhYvfmrhdSZjaTUiKAdq2diapQKOTqGstUKgVBEBCJRLQvOUwUhMNhxGIxreHJyeigWcp9fiNuWw9grW6PRQfZ7559WRRFEfF4HPF4HKIoQpblgteq/8JmllmzZuH888/HxIkTccABB2Du3LmIRqN46KGHsj7/ySefxCWXXIKBAwdiv/32wz/+8Q8oioKGhgbT5ySqg8rKZxFEFuzeQIxdp6wIvFIwWu6wWrp8sObsViNoc9gpivVj3VhqzW0YvRM9Hg9EUYQkSfB4PJqPHPOWYw0FPp9Pew/pGwpY/Vg5agfdFrlzYw1gsRitZlhHcTarGePvPplMWqp5FQQBa9euxdVXX6095vV6UV9fj8bGRlPHSCQSEEURXbp0MX+RRFVAApCwHY/H45hgsvPDvlwjxuzc/FiUSW+5Y+b45aoBzHbP7UqZ2glrSvF4PFqBPovoeL1eqKqaUf/FxCD7pzevNtqNOGFGTJQH1izCSgVy/e7ZPzYH2Ox7YNu2bZBlGXV1dRmP19XVYcOGDaaO8ac//Qk9e/ZEfX295esjKhsSgETFY4fYdMqyJhelXkOp5tTlEICsZoqJKnbPnTSYNgMbP6cfMSbLsjZnlqWBWaeooihQVVUTspIkQVEUKIrSJjpYyIzYzZ3F1ewnyOu9Z/zdM0GYTqfx2GOP4Z///CdkWcYHH3yAn//859zf/zfffDMWLFiA1atXFzVdh6hsqvOvl2g32PEBqa/3y9Z16gYRkg/WrMK6ZrNtyoUEZrECsNh7o1+zm5s9jE0pQGbkT79uVgvGahiDwSA8Ho9W98csRPSCkJkRF6odzNZdWi241QaGN/pmklgshpNOOgm/+MUvIEkSBg8ejD333BOvvvpq3mN07doVPp8Pzc3NGY83Nzeje/fueV97++234+abb8ZLL72Egw8+uOTrISoPEoCE7VRS9CydTmuWNfkaD5wY1VbMOZgVSalds05GAJngDgaDrhZ/oihqTSmhUCgjwsdSu7lg4lCWZUQiEdTW1mopXiYGJUnSmgNYtJDVjrHO4kAgoKXJE4lE0d2lhDXsFqVm6Nu3L+rr69GvXz9s374dDz/8MPbff/+8rwkGgxg0aFBGAwdr6Bg6dGjO191666248cYbsXz5chxyyCHmLoSoOigFTFQ0xX5Il6vez07snK9cihG0FTHC1uz2sW76RiCfz6eJPwCm6vTYyD391BWW+mPRP/bPWDvI/hlHlQG7U8asfoyliitxxGJ7wuznFGsCCYfDpmvypk6digkTJuCQQw7B4MGDMXv2bMTjcUycOBEAMH78ePTq1QszZ84EANxyyy2YPn065s+fjz59+qCpqQkAUFNTg5qamiKujqhU3PsJTBAmsRoNsVrv57YIlX5Eml3zlXn7APJYMw+M62RNKSxCVyjyB+yegpNLmDOBB0A7rr52kI0gM3YWM8HHooKsdlAURQC768v8fr+j86XdhF2Ru3JdWyKRsDwFZOzYsdi6dSumT5+OpqYmDBw4EMuXL9caQzZt2pTxBfe+++6DIAj49a9/nXGcGTNm4M9//nPJ10BUDiQAiXZFsSPqnEoBF9q8WOMEYH5EmpmubJ4pYH2DipMekVZhUWFVVbVaUL13m5l1W41wsmPqBWGu6KAsy9rzjNFB1kzA3t9ORQfd9uXITspRl8jMxa0yefJkTJ48OevPVq9enfH/N27caPn4RHVCApCwHbfWABr9/czilk2ORS5ZN6qd6+IlAFkHrVuaPXK9V/TrZCa8+s5dM+tm769SIpzG6CDrJmZ+g16vV5tFm813kHnP5YsOuq1Rwm3rKSfFRAAJolhIABIVjZnolh31frxTQmbTivqaMjvZLQCtbcT51i1JElKplOVoq9PohXU4HNbsOcyKP171pOw4TATGYjFt5JiV2kHmO8feQ+l0GsBuj7pqwcr0DiexYpfDagAJwglIABJVjT6yUw5/PzsoNnJpBbsjgIXq4NwCE6lMWBcj/vT+i3a/v3LdR310sFDtoD4NrO9kZsbWTtcOVgLlikqSACSchAQgYTtOfnDmiwDaFYFy6nqM1+Fkp7Kds4DtSIU6gbGLWl97Z0b8GQ2i7X6f5KsnZO8Fo7BjojBXdJB5FQaDQa27WR8d1E+lcPPvrpKwIiaTySRisRjnFRFEKyQAiYonmwC0O2rmdArYzsillSaQH0vGiqKSrHX0IpV1+hZj88IrvW1VRGerHWSC0BgdZBFAY5MIuwfMsNqp6KDdnbuVHMVMJpPo2rVruZdBtBNIABIVjfHDnocIcXpDYeKCTQlwwtai1BRwrrFuxcBzFBx7f8iyrK3Tqs2LMW1s9/qYDU2x79980UHWTOL3+yEIQpvoIIsQ6seU5YoOVnPzRrmuLZVKUQqYcAwSgETFw8RNpdf7sQ2aZ7NHLpgRdDE+gGyWKa9UqF2wej2fz6dtsrxtXqyuj9nQ2Pn+ZcKO/Z5isZgm4IziV1876Pf728w51kcHmYD0+Xyu/Z27AaspYNaFThC8IQFI2I7TNYAA/45TJ4xh0+m05kHndP1VsRFAFiGKRqOOClarsC8H0Wi0rDYv+dbHIqjZ5lGXCvv7CIfDbZpJzNYOGqODoihqs431qWKrUUsrXbKFjmOnd185ShjIBoZwEhKARMWTTqehKAq3LlmeKUl23FQqBb/fj9raWts3HjNrZnrGigAUBAHpdBq1tbWuFn/6lDoTf1Y7fUtNy+aj3M0k2WoH9Q0x7HksPc6igyxKzaKLxtpBVmPY3qODVr48UgqYcBISgETFwoSTJEno2LGjq5sOcqG34yjnlAwrEUC9IGKzct2Kvl4PgOtsXrLNDLYTJv7MRC1z1Q7qLWeA3XWSsixnjKkz1g4KggBFUUqKDlYLZt83FAEknIQEIFGRMOEEAOFwuCI3Fn3a2kzzQSmYbwIxZ3rMUtVsLJ3d2HEvjJEv1vyhr3XLB+8pJjybSYDWyLgkSSU1k+SKDuojfvr3r5naQX33sZ331O4UcLl8AKkGkHAKEoCE7fD+4NQLp0AggEQiwfV8PFLARg86JmbLhZkIoHFcmptTeywyrLd5YdE8JlDyWZvwtnlxoplEURTbosr66KCiKEgkEtp71xgd1DeS5IoOsnpXn88HURRdPSmmVMx+brD3J/kAEk5BApCoKFghvt6814kGDTsjCyx9akzL8boOM2svJAB5CyK7MNoA6W1eotFoRgNDOp3WIlZ6PzwnInO8mkmcSlnr3wfZooMMfRRRHx0MhULac1OpFJLJpGZPU0p00M1fSsyQSqUoAkg4BglAoiIwRjWMG6cTKZtSBZp+cy5nvV82mADMZgOTb6ybmzZcdn+ZFyGwu9mDRaSA1ihWMBjMmp5kj/HoanaimYR1EvNIWeeqVyxUO5hrRB37x+pI9VY1LDrIBKGZe+XEF0GrWDWnplFwhJOQACRsx+6NJ5+/n5sESD5YpCNXp2e5xWuuCKATc4jtwNhJyx7L1+xhTE8mEgkIgoBgMAhBECDLsm3NC8bayUrrJLYSFS1UO2h8HptKYowOSpIESZK0SK3ehNqJvxenP1vYe5AEIOEU7v1EJwjw9/czSymbAe+Uoh0wI2gmAK1MVOEVeTF7XON7pJhO33Q6DQDo3LmzJkokSdK6WUtpXtBHJnnUTvJOz+eLABfCWDvI1quPDkqSpIlBfXTQ2LldSnSwXFiJAIqiqP29EYQTkAAkuGBm/mwhjPV+uc4DuDcFbCWCVs4aQL0PIEslAnzqyOzEKE6KEX/Zpm9kEyAsGqUXIIVm5LopMlcMdjar6GsBAWjNJMw3MJcJNRPfhaKDbO6xHZQjAhiPxwGABCDhGCQACddRqN7PiBMf1FbPka/Zw43oU8A8BYud6MU1izCxyJJVm5d8kTm9AAHQZkZutkYS9jy3RubMwLtZhd27jh07ao/pf4f5ageziXO9zY9booNWx8ABJAAJ5yABSLiKYuf5OlEAbvYcboygma0BFAQVgUDAtalqoK249nq9mhAAdhsV54PVZLKokhWY0AsGg5pQYaliAJpQZNFrt0fmssHEFI9mFWM9pP53pW8k0f8zEx30er0QRRE+n6/k2sFyRABZGYOba22J6oLeaYRrKLbezw0Ci6EfO2YlgmZHyrwUVFUEEISieCwJlnIUyhvFA5tlC8CUWLEzberxeDQ/SiZCU6kUEokEgsGgJgztnILhRGROL67tPr6ZeshsjSSFooPA7g5vdi4mzstVO2jlbzqRSLjeX5OoLkgAElywKmiMxshW4S2ezBZxp9NpVzd7GGEbPrt/hSaBOEW2+21M2QLWZvoCfNOmzEYGAH7yk5/A4/HY1kgC8LeRyVUPaRfFTlbJZTPDRCGLDuqtfNj7gYlzYHfq3hgdZOKcl/CiMXCEWyEBSJQVO2rlnPrGnE9kutkuJdf90W/4NTVMUFk/vhORS72NTjgcttzsAZQnbWpXJytvGxnencr6ZphwOFzSsbJFB5ltTyAQyFk7qK/R1EcH2X01Wv6UIwVc6r0hCCu4a6ci2hV21sqVKwJoxS6l0PGdTAEbo2mhUOu6842CKxfGlG2xNi9O1bRlO76xk9VsIwk7vlPijEfjD89mGGYeLcsyampq4Pf7s0YH2XP1tYO5ooPs/eb3+xEIBEpKs1upJWQRQEoBE05BApAoC/oP2VI3nXJ9YBbbsFIO9OJSX6fIIg4sICaK5VhdboylAfrGAKs2L26KnJlpJGGRwXwG4qXC3sPFNMOYIdf0ELtgnyP6lH42E2pmEWMmOqhPMbMvqOznhWx/SiGZTNIYOMJRSAASXMj3IVlqvV82nO4C5mFQ7cQ15KpT9PkyjaDdQDqd1qyAmDkzi+iYtXlho9HcHDnLFo1i7y8mnliTiZ3X4JQ4c1L86TFbO8ieq08t+/3+jDpTY+1grmhtKdAYOMJp3GuhTlQd7Bs162Dk4V3mBIIgaBuPXeKPZ/SQHTuVSiGdTiMcDrfZkHONgisH+vcJS9nqN2wzNi/FNhyYRZZlJBIJLYpq5/H1kaYOHTogGo1q54vH40in05AkqaQvDJIkORaZ43F8URS1mjmznyNs7B+75mAwqDXjMHNpQRAgSZIWZQZ2dxZHIhHEYjEtEp1KpRCPx7X3arbfh1UfQKsRwDlz5qBPnz4Ih8MYMmQI1qxZk/f5ixYtwn777YdwOIyDDjoIy5Yts3Q+orogAUg4AtuQWa2cnd+cnaifY5tEKpWCIAgVJWCZoJIkCdFoNGsDhFsEIEup6jtRWb0fYC7yJ0kSEokEAoEAF/GnF0880qbs+KFQSBPrTHyw86XTacTjcSSTSQiCoN0fMzDx5CZxZgVBELQvMsU287C0bzAYRDgcRigUyvASzCYIgd3R2nA4jFgshnA4rL0mHo9r86T10UWzMBsYsyxcuBBTp07FjBkzsG7dOgwYMADDhg3Dli1bsj7/rbfewplnnonzzjsP//73vzFmzBiMGTMG77//vuW1EtWBRy2n+RhRtbCUCWBvvV82WJqP56xglo5jm7LdtWSiKGoRLzthA+bj8Ti6du2ac93NzcBee7Xev2QyDbO/IjvvvT5qJ8uy9l5xi82Lk8c3I270I9EURcloNMn1BYt3J7RTx+c1XYeJS/Z+ZnWEDPY+ZLWDevS1nEwASpIEv99vqkb41ltvxWeffYb58+ebWuuQIUNw6KGH4p577tHW2rt3b1x66aWYNm1am+ePHTsW8XgcL774ovbYYYcdhoEDB2Lu3LmmzklUFxQBJLiiT5fyiMY4gX5mKY9GAl6wdZtJg+r3agvBJNuir/qUarEef/rIEO/IE8/jRyIRU+KJjUSLRqOIxWJaQ0kymURLS0ub1KRePPEWZ5Uo/tLpNARB0O5ltuigfvScKIoZ0elC0UEWrc0VHbSSAhYEAWvXrkV9fb32mNfrRX19PRobG7O+prGxMeP5ADBs2LCczyeqH2oCIbjA0o5OzMLlmQLWF7Lz7ADkkabUN6mwmrFc59Hv15IEODm6OJvNi6IoSKfTWnNEofvD6uJ4igM3Hz+XrQmLKLLff01NDdf187DZKffxs/kOMuFnbCTRRwd9Pp/298fsafSm4MbOYisp4G3btkGWZdTV1WU8XldXhw0bNmR9TVNTU9bnNzU1mTonUX2QACS4wOpo3G6Pkg99t7J+1iwv7BKxxXRZGwUgx2x6BsaUISu+DwaD2v9m0dds6U29DyMvm5dKPD4TF4FAAMlkEkCrKTWLculNqEv13+Q5Og5AxhdJnuLPzPFzdRbrx9UBu21mWASb/WPd3Cx9zwT6jBkzsHbtWhx44IFlmUNMtE8qI5dFVByhUMixuZZ2n6OSu5VzNakUukdGAegE+rX6fL4Mmw5WL6pvfjCmNwVBQCKRAABuBs/6hpRKPD7zsevYsSNisZh2Lz0eT0mNJPrjl2qCXuj4vMWlWfGXDSbqWEMN6ywGoEVgjZ3FLPoXCoUQjUYRjUZx8MEHY8uWLViwYAF69eqF888/P+/vo2vXrvD5fGhubs54vLm5Gd27d8/6mu7du1t6PlH9kAAkuOHkt1i7ome5upV5X0upx2digk27sJrmc1IAGtdayOaFRf/C4TBqamq0NNnOnTu13xWLONuFse6Tl4cgr+Ozewwg4/jsXoZCIcRiMe29YtVmxmiwzetLmBPi0q7jGzuL2Xg5vdl3ttpBr9eLCRMm4Je//CWmT5+OJ598EgcffHDeNQWDQQwaNAgNDQ3aY4qioKGhAUOHDs36mqFDh2Y8HwBefvnlnM8nqh9KARMVj12bj37ebLZuZd4N88Ue3+xEknzH1+81PAWgfnIG63hmUb/WdZjbiCVJQm1trTb7VV9bpTfpLea9wd4HvKZj8B69ZsUDkTWSALvnFTPDY/18XH39K+/RdE6JS73VkN2w49fW1mpfcPT/splQp1IpdOzYEccddxyOO+64gueYOnUqJkyYgEMOOQSDBw/G7NmzEY/HMXHiRADA+PHj0atXL8ycORMAMGXKFBxzzDG44447cPLJJ2PBggV477338MADD9h+/URlQAKQqApKFWe5JmQw3FqTk22sWzF4PIDfr0KSPJYEoJUGHKPwYY8VY/Oi/z3lEzBMDJpt4OE9vYLnXFwg8x5bfT/o6yzZWo3zir1eLwRB0DwQeUUuK1lc6udOs+MbG0kAZNQOiqKIDRs2YPDgwabPNXbsWGzduhXTp09HU1MTBg4ciOXLl2uNHps2bcr4QnX44Ydj/vz5uO6663DNNddg7733xnPPPYcDDzzQrssnKgzyASS4oKqqNteUN8ywtVgPvXQ6DVEU83qXMVERi8VKWWpOWMqxpqbG9GsKiVY9LS0tBTtMO3UKIpXy4OOP09hrL3NrYLVjhcSGsStZ30lpxebFisecfoQXOw8TONkijbw9/ipZXLK/55aWFgDQOlvtnI+rF388LKOcjCxaOb4sy7jmmmvw+OOP4+GHH8app55q67oIIhcUASSqgmK+x/CuM+KJGdGqx8xmVOw0kEL33iisihF/7Hqt2KSwNDDrKGZiMFuqmBXr8zIwrnRxyeosa2pqEAwGMyxN0ul0hqVJMX9HvNPivCKLsipDVESEvKGixJ+iKJg2bRqef/55vPPOO9h3331tWRdBmIEEIFHxFPNhzsa6sVq0QsdwIgVsRsQabTesNHsUOj7TPbLsAWBPYsAoVPV1UGbEn10i3WjDwQRMOp1GOp2GoijcPPJ4T8fQz93lIS5ZZFEvLlkkNRQKaZYmxdZhlpK2NkOpkUVREbEpuQmfJz7H5/HP8VniM3web/3fXyS/wLV7X4tJvSYVJf6uuuoqLF26FKtWrcLee+9dzOURRNGQACS44HTNnJUIoL5uzkq0gWe1hL7APl8TB+vs5FG8buc84Gy1UPrid7Pij8f16gUKqxNkUcJ4PK6lipmAKYViIpdWsDI6rhjMRBazNZIwca1vJPH5fG0EPBN/vBpuzIq/tJzGxuTGDIHH/vtl8kvIam4P0P/t/B/UntbF39SpU7FixQqsWrUK/fv3L+r6CKIUSAAS7QordXN6yt0EwjtFBtgnALPVQrGoH9DW5iUbTqUEAaC2tjZDgDO7jlK6io0CmEd5Ae/RaMVEFvWNJKFQKGsjCROEANpEFu3EGFmMS3F8kfgCnyc+x2fxzzL+uzm5GWqeqHfEG0HfWF/0j/ZHv1g/9I/2R99oX/Ty9ULPUE/LNX+XX345Vq5ciVWrVqFfv352XTJBWIIEIMENniPajOcxAzN95RUt4YWxgaIYzNwjpiGsdgHr0VuQ6Gf6WrF5capTNptNin6kWq5oVqFaN6MA5jW9ohIii/o6TCauZVlGPB5HKpXS7r9d0y9+EH9oFXYtn+HjHz7GxtRGfJn+Ep/FP0NTOv/Is1p/LfpF+6F/rD/6RfuhX6yf9v+7h7rD69n9e8zls1gIWZZx6aWX4rXXXsPKlSvRt2/f4i+WIEqkcnZBgsiDGdPaUuvIytEwX8xYt2IpNQKo91FkRrhWbV6caGYwW29mjGaxWjcWHcyWKnbCxqRSI4tMXHs8HkiShA4dOsDj8WREB/N1aQOt179d3J41Vft54nNsE7blXUOXQJcMYdc3ujuqt0dwD1O/r2JrCmVZxqRJk/DWW29h1apV2Mtsqz1BcIIEIFHx5KufM2uSXMo57CDb8fVjquzYiAs3gagAPBBF68c2CjcnbF6skq2ZwQqs1s0YzWJ2R16vF6IoIhAIOGJjUknij5ErraxvJEmn09gqbsVX4lfYmNqIL5Jf4IvEF/gs8Rm+iH+BHdKOvOfYI7AH+kX74We1P2uN5OnEXpdgl5LWX6z4kyQJF198Md59912sXLkSe+65Z0nrIAg7IAFIVC12pE6dRC8Cy2FPw/ZjqxFAQRAgy7LjNi9WsNuGxZgq1s8lZh3mpdiiGCk25WgFNgKO13tOn1b2+rzYnNzcphbvs/hn+CLxBeJyPO+xeoV7tdbhxfpqAq9PuA96eHqgS7QLl+hxKeLvwgsvxLp167By5Ur89Kc/tX1tBFEMJAAJbjhdA6iPnjmZOrUTRVG05gO7O18LUUwKOJ1OQxAEdOnSBT6fryibF6dSmrwii8wjLxaLad3E2WxRWLrYKk4YJOuthez6HUiKhK9SX+Gz+Gf4ZOcn+HTXp9gkbGrttk18jrSSzvlaL7zYM7In+sX6oW+kL/qE+2Cv0F7YK7wX+kT6oDZUm3E/S43uFqLY34Eoijj//PPx/vvvY9WqVejZs6ftayOIYiEBSFQFehHIIhl2RpN4p4ABaMXxoVCIW6dvPnb7ABZ+bjbR4BabFz28I4vZUppGWxQmBtm1Wpmg4UQ3dClzcQVFwMbExja1eJ8nPsfGxEZIau5vE36PH32jfVvr8HSNF/2j/bFXdC8EvW2FXLb7yeoII5EIN/GXSCQs/w5EUcR5552HDz/8ECtXrkT37t1tXxtBlAIJQKJqYNEzAFyiSTwFGRs1V1tby8UMFzBvBC1J+Y2gjcKNjYNjNi9m7nu+Tlw7cCKyaKZTVp8qBpAxjaTQBA3e3dBm08oJOdFqnxLfnaJlYu+r5FdQoOQ8R9gbxl7hvdC/pj/6x/prQq9/rD9+Gv4p/F5rW5DxfqbTacTjcW2aiyzLtnk4AsWbVAuCgIkTJ+J///sfVq1apc3nJQg3QQKQ4IaTESw2S5fXkHoGj5S2Pl3NI4JhFjMpYKNwY12xsizD4/G4wual1KiWGYptlmDCJN8EDSc88owpzV3SLi1yx0Qei+p9k/om77FivpgWudP/96f+n2IP3x6IRWNcBLgkSRBFEbW1tQgEAlnH/elNqK2+D0oRfxMmTMAXX3yBlStXolu3blYvjSAcgQQgUfGwNFxNTQ236BkPjGlUJlp4YIcPoFG4qaqqNXywxwsZJjth88JG/PFulig1rZxtgoYkSWhpaUE6ndbWb1fZwXZhOz5PfI5PWz7FJz98kuGRt1XYmve1nfydWu1Tsgi9bsFubdaXSqVsrynUkyv1nmvcn1kPR0ax4i+dTmP8+PH46quv0NDQgD322KOk6yQInpAAJCoa/axZ3tEzO8WEMf3mVKdvPvJFAI0TVNgGC7RO0mDRF7bZZqtzs7sT14gT9XI8miWA3Z6DTKh07NixKI+8LcKW3XV4hrq878Xv866ha7DrbnGnS9X2i/YzbZ/C8x4xzKbei51XXOx4ulQqhbPOOgtNTU145ZVX0LVr15KvlSB4QgKQqEiMGw0THk6ct1Ry1b/xTpmbrwHMfNzYRZvN5oUJlFzjv1iNYCwW49KM4UQXqFNpZb2wMXYVp9IpNAvNmkce66hlQq9Fbsl7ju7B7q0eeTU/yxB6/aL90CHQoaT1O3GPip1QkivaapxX7PV6kUqlLIu/ZDKJcePGYdu2bXj55Zfxk5/8xPK1EYTTkAAkuMFL0LA0H8CvezQbdpynkDdhOaaNMFqNoDMFoNGMmgk5VVVzdvrqx3/JsoxEIgFBEBAIBLTNtVhLlGxUS1qZdbLCi9bOWhbFM3jkpZRUzuN44EHvSO+M6F3/WH/sFd4LdZ46dI505i6Qed0ju0yqjbWW+lRxIpHQmkxkWTZ1nmQyiTPOOAM//PADXnrpJXTpUprZNEE4BQlAoqJgkR72DV0fPXN7BJB3CrRU9BFAoxm1x+PJsHnxeDymbF4EQYDP50Pnzp3h8Xi0yIveEqXYIn3AGY8/HmllQRGwKbkJn8VbZ9Z+Hv8cXwpf4ovEF9iY2AhRzT2OxefxoU+kj+aR1zfSF3sG92z1yIv2QSwYy+iC5S2QeY+/A/hOKGHvPUEQ0KFDB/h8vowJL/lsexKJBMaOHYuWlhasWLECnTt3tnVtBMETEoBExWCsQ6sk9LWK+eqWyglbliju3tCj0SiAVuHNxK9Zm5dsUTNj5MWYhrMyPYO3x1+p3copOdXaTcsmXehq8jYlN+W1Twl6g1pqljVc9I21zq3tHemNgLftF4hsXbAs3cnTI4+nSTXAfzxdtvIBYyOJ0bZn8+bN6NatG8aOHYtUKoUVK1agU6dOtq+NIHhCApCoCAoJKCfEUzHnsDrWrbwp4Nb/JpMivF6vJnqsjnWTZVkbhZYvapbPEoXVFGbzc3PC489s1KxFamnbcKGzT1Hz+ClGvVH0jfTVPPL6xXbPre0Z7gmfx5rYMXbBplIpJBIJ+P1+bVwfu6d23DPeTTfA7r97Xr/nfLWjuRpJtm/fjkMPPRQA0LlzZ9xzzz0V5T5AEAwSgAQ37NgQrAgot6WAy1WrmA0zKXKvt/XnqupDOJy92aMQxaYbc03PMHZser1eLWLIu8uUpep3iDsyBJ6+s7Y53Zz3WB38HVoNkKP90TfaVxN5Pb090T3UnVvKlJkid+rUSUtpGhtzSjFMLtYmxQq8ZxNbbRxi79Gamhr88pe/xA8//IAhQ4ZgypQpuP/++7FixQrb10gQPCEBSLgWfbdsuQUUYE3Qmo2CFXt8uxFFEa2n9wPwQ1Uly+LPrhpH/bQHfRoulUpp9Z+xWMy2+6WqKrYJ2/B54nN8/MPH+LSldWbtF8kv8EX8C3wnfpf39V2DXdEv2i9jpBmL6P0k8JOsFiNORM30KVN9Y042gW3FMLlYmxQr8PYRLLZrfNeuXTjttNPg9/vR2NiI2tpaqKqKHTt22L5GguANCUDClbBIkt/vNxVhcKoJxAy8i+7thgkGtpmLovXIH69mDBb983q9WjTI7/drdW5m/PGAVpHXlG7CZ/HPMmfW/vjfndLOvOvoHuqO/rHWKJ7eK69vtC86BTqZuhYnhJOZqFkugW2mFpO33Q7gXvG3c+dOnHrqqYhEIliyZAlqamoAtN5Pav4gKhESgAQ3io1u6Eejua1btpDILFUIOSlijbV0gQAzbM5v85LrGE43Y7BIFhODChRskbZgY3ojNqZabVS+iLfOrf0i8QUSciLnOTzwoFeo125vPN2ki77Rvqjx19hyDTw7cYsxYM5V52YU2Oz36tQ18Ir4F/t7+OGHHzBmzBjU1tbi+eefRywWs31tBOE0JAAJ18A2gGLGbJU7AuiEECoF4/3J5tvm8zEfQI9pmxf9MZxoxhAVUbNPYbNrmVfexsRGCKqQ81g+jw97RvbM8MjrF22dWds71BudYp3K2lBSLHYaMLM6N2OqOJlMauPpvF6vbePpeFxDLrKNjzPDjh07cMopp6Bz5854/vnnW70aCaIKIAFIuALjBlDMRsxbAOYSmU4IITvR11ayzazV9Nb74/8uLP54miOn5BQ2Jjbik52f4JNdn2CzsBlfpL5o9cpLfglZlXO+NuAJoG+0b+u/SF/sFdoLfcJ90D/WH31ifRAJ7v79GMfx8ZxcwSuazfMaWKqYjaTr0KEDPB5P0bY9uXDCRLpY8ff9999j9OjR2GOPPfDss8+S+COqChKARNkxCpJiNoByNVDYsXYG7ygmq/didWjhcDij09fvZyng/Mexo5EhLsUzavA0r7zE59ic3JzXPiXijWieePpUbf9of/SK9Gpjn6K3mEkkEtroOlEUEQgEuPvX8TKpdsKDjwnYSCSiXUO+2bpWJ7y4Wfx99913OOWUU9CjRw88/fTTZPVCVB0kAAluWLENKdZsV4/TKeBSjYKdhm3Y+hSfvtkj1yxgPVZqqH4Qf8gQefqRZk3ppryvrfHVtNqnsFTtjwKvf6w/uoe6WxIKRosZQRDQ0tKiCcF0Ol3SNJJs8DYvdqKbON/c3Vy2PfoJL7mmZzCcmCBSrPjbtm0bRo8ejd69e2Px4sUV8fdNEFYhAUiUDTubPZwygmYi0+1j3YywiRsdO3bM6P7UN3sUEoDGa1ZVFd+J32mNFkaPvG3Ctrxr6hLokmF+zOrx9gztid4denMTTqIoora2VptVXMo0kmzw9q9zwoPPioDVdxUDuye8GKdn6O+pE9FLJv6sRmC3bt2KUaNGoW/fvnjqqadI/BFVCwlAgivZ0pq8GiacMoI2M9atGHilgNPptJaKDAQCUBRF+6fv9GWXIutK7Jh9yic/fIL/7fofvhK/wsbkRk3o/SD9kPfc3ULd2qRqmWdel2CXjPPwrsfLFg3KNo0kWwesmfdosZ24VnAi6lxq9DLfhBfmOSgIglaG4HT0Mh9btmzByJEjsc8++2DBggUVYeNEEMVCApBwFONG7/aGCT2sXikYDHKL7tiJUZBIkqTNiwXQxubl++RmAH3R+NXr+N3au/FZvNU+JS7H856nV7jXbnHH5tb+OPWi1l9bcJ3lTmcycnXAGqeRZEsVO9HF6oQHn93RS2OqWBRFtLS0aJFnFiHMlyq2SrHir7m5GSNHjsQBBxyA+fPnV0RknyBKgQQg4RjFTMcwC+8UsBMbPDuPXcdhQjsajUIUxQzxl83m5ZMPlgCYgv+mvsB/m57XHvfC22qfYojiMY+8iK/4zki3RrTMmCWzpgcAjtWyVbIBMxOA0WgU4XA453i6UtLvxYq/pqYmnHzyyRgwYAAef/xxEn9Eu4AEIMEVltZkH8w8NzBeKWAmXNkGVe6RdIUwRtTYY/qGm2yb4y+P6IMPNj6PfRP/h9F109Cr7mD0i/TDPp33QchnvzhzQtQU6yupx2iWrBcuyWQSgiAgEAigpqamYq1keKeus01B0Y+ny9VVnCvimo1ixd+3336LESNGYNCgQXjssce4dGwThBvxqG6Zn0VUJWyT5FEzp0dRFCQSCW08k13oRROrXYpGo7aegyGKoiZWisUYUVNVVYv8sf/NUsHZivNDp5wC3yuvIDlxIpK33849JVvpoiYeb02P+/1+yLJctB1KLooVNWZxwoaF/W2ajfLqI66SJLWJuGZbY7F1i9988w2GDx+Oww47DA8//DCJP6JdQQKQ4MrOnTs1UcOzZo5txrW1hWvOzGLsUmbdorzGQImiqKXIin29PspqtHnRb5z6iIssy7vTb6+/jprRo6GGw0h+9BHQrZtdl6fhhD8eb1GTrR6P3W/WSAKYs0PJBW8rmXLdp2KOwe7rbsui3dHBYu/T5s2bMWLECBxxxBF48MEHSfwR7Q53V7ETFU8gEHCkYYJtXnZ9n0mlUtqmUgn1QMxyIxwOFxR/wO7i/EgkglgshkAgAEEQsPXnP4cwYAA8qRR8995re1qddVDrjYXthKUaAb7dxNlEDYv+hcNh1NTUaOcXBAHxeFxLFyuKUvAcrHObp/jjfZ/salphaeJoNKq9V9mxv//+e+zatQuBQMDSZ8ymTZtw0kkn4eijj8ZDDz1E4o9ol1AEkOAKizLxRlVVtLS0lFyHpY+KhMPhjE2F1QLyigAy+xGrEcBUKpVR55bL5iUfGdHOJUsQHT8eSqdO+G7dOvg6diy5U5PdV0VRuNeZOdFNbDV1nSvims1iRl+3yKsZg7cHn1Mdy6w8Q1XVjFSxz+fLee82btyIESNG4IQTTsDcuXNdN7ebIJyCIoBEVWBHBJDVKgG5LWp4f1+ycny2kcuyrEVZ9fV+ZsWfPtoUCASAMWOg/Oxn8O7YgdoFC4qOYhnXWcqc50KwMW9OectZjQpni7gywdrS0oJUKqXVy/IUf+w97vV6uRowJ5NJhEIhbuJPEASIooiamhotMhiNRuHz+SCKIhKJBBKJBARByPgC+sUXX2D48OEYNmyYreJvzpw56NOnD8LhMIYMGYI1a9bkff6OHTswadIk9OjRA6FQCPvssw+WLVtmy1oIwiwkAImqoZTNjAkIn8+XMyXmpu5ffaqT2dIUsnkxwqJyzPdN2wx9PoiXXw4ACM6Zg5DHk7HBSpKUscHmE4NMcPC2SGHRJp5WMsaZuMXCLGbC4TBisZg2zWPnzp3aiDqWvrcT4wQRN41eswL7wpLxnsVuka1PFbNrvvrqqzFu3Dgce+yxOOGEE3DffffZJv4WLlyIqVOnYsaMGVi3bh0GDBiAYcOGYcuWLVmfLwgCTjjhBGzcuBGLFy/Gxx9/jHnz5qFXr162rIcgzEIpYIIrTqWAAaClpaWomimzFjW8Oo0ZZlPM2WxeWNQPgKnIUcEasFQKkQMOgKe5Gen774d81lltXs+aHXJ1v7Lr0Vt/2I0TI/n0dYu86/GYzUyuhodiyWbDYjdOiT+rEVJVVfHUU0/h8ssvh8fjQSqVwq9+9Ss88MAD+OlPf1rymoYMGYJDDz0U99xzD4DWe927d29ceumlmDZtWpvnz507F7fddhs2bNhQEfXFRPVCEUCCK05GzYo5VzqdzmieKES5vy+x6BtLdQLQ6v08Ho+pTdFUVC4chjhpEgAgMHs2YIhGsSgWS2kyyxmW0mxpacGuXbu4Cg594wsvK5msEVKbz6E3kc7X8BCPxzUBZOV9yKLbPM22RVHU5u66SfwBwP/+9z9cd911mDhxIrZv347/+7//w/HHH4+uXbuWvCZBELB27VrU19drj3m9XtTX16OxsTHra5YsWYKhQ4di0qRJqKurw4EHHoibbrrJsS/KBMGg1ieiqjC7Mep94szWpenrDMsxCcQY7SrU6ZsNK5M3pN//HoHbb4f3o4/gW74c8ogRWZ+nj/4BrU0pLJ3OJpDk83ArBieicrwnvxRqWik0jcSMxYwTzRi8vQqB4sXfhg0bMHLkSJx55pm47bbb4PV6se+++2Lfffe1ZV3btm2DLMuoq6vLeLyurg4bNmzI+prPP/8cK1euxLhx47Bs2TJ8+umnuOSSSyCKImbMmGHLugjCDBQBJNodLOqiKIqrZvrmExn6SGWx4s9yrVzHjpDOOw8A4J81y9Q1CIIASZLQoUMHdOzYMaMwPx6Pm6obzIeTUTne5shW6vGYyA6FQojFYpoQyndfc9nV2ImdtZG50He5W/lb/eijjzBixAicddZZmvhzA4qioFu3bnjggQcwaNAgjB07Ftdeey3mzp1b7qUR7QyKABJccVsK2AmrEDvJFqks2ebFQopOnDQJ/jlz4GtshLexEcrQoTmfmy0qxwrzmTchqxvUj/syOzXDaFzMq0s2lUo5YpFSSkq20Bg1AJpI5pWS5W1UDRQ/n/jDDz/EySefjHPPPRd/+9vfuIm/rl27wufzobm5OePx5uZmdO/ePetrevTooU0WYuy///5oamqCIAjcxDpBGHHHVyKCsIl8KVRj/ZzVzd1us+ls6I9t9M7Td/qWZPNihR49IP/udwByRwHNRuUK1Q2yY2S7v8aoHE8fQa/X64g5sl31eEaLGa/Xi1QqBWC3V57VusFCuFn8vf/++xgxYgTOP/98ruIPAILBIAYNGoSGhgbtMUVR0NDQgKE5viwdccQR+PTTTzOitZ988gl69OhB4o9wFBKARNWQb8MWBEHrUCxl43UqYmj0JDTavJgRf3alS8XLL4fq8cC/bBk8H37Y5hzFpNNzTc1Ip9Oa36Aoitr8Yt5WMkYfQR44kZJlkcCOHTuiY8eOWe9rKSl4ILcNi12w962V+lzGf/7zH4wYMQIXXXQRbrzxRkfSvlOnTsW8efPw6KOP4qOPPsLFF1+MeDyOiRMnAgDGjx+Pq6++Wnv+xRdfjO3bt2PKlCn45JNPsHTpUtx0002Y9GPTFUE4BaWAiaoiW5TDOCmDxznsQJ+6Y/Yp4XA4o97PbKevnU0M6t57Qx49Gv7nn0dg9mwIDzwAIDNiVmq6lKU0Q6GQltJkxsgsde32kWX5cMKuJltULtt9ZaniYixmWDMGr9rZUt6369evx6hRo3DZZZdh+vTpjn1ZGzt2LLZu3Yrp06ejqakJAwcOxPLly7XGkE2bNmXcq969e2PFihW44oorcPDBB6NXr16YMmUK/vSnPzmyXoJgkA8gwRVVVSEIgiPnSqVSWjqMndvu8WPxeBzhcJhb5GPHjh1asT+rm2ORP7MpXzuFGcP73nsIH3MMVL8fqQ8+gNyzZ0YTAw9kWUY8HtfGeuXyGywFJ7zrnOiStZqSZfWYzHOQ3VcmBrO9Z4pNyZrFWONp5X27bt06jB49GlOnTsW1117r+tpegnADlAImqgr2fcY4KcMtHYD5YB2VevGnnx1rxebF7/fbGjFTDjkE8tFHwyNJ8N19t+YrxztdyqZlsPo2dl/M1A0WwgnvOie6ZItJyRqnkbCyiGwpeMDd4m/t2rUYNWoUrrrqKhJ/BGEBigASXHE6AsgiGUwE2S1Q4vE4QqGQ7Zs566BlFir6cWBWbF5SqRS3VKb3pZcQPvVUKNEoWj74AP5u3Ww/B2AuYqYXx0wAMk88M36DLGLG27uOp1chwEeYsVSxMUJYW1vL3XPRqvh79913MWbMGFx99dW46qqrSPwRhAXcHxYhCJN4PB6tbiwYDHKJTtm9wRgbNfx+f1GdviyaxaKHPEgdcwzEn/8c3kQC4Ycf5nIOsxGzbL54Zv0G9V3RvI2LnWiUsDsqp+8qZun3YDBY0jSSXJQi/t555x2ccsopuO6660j8EUQRUASQ4E46nXbkPLt27YIgCOjYsSO3jZ2lPu1IGRrn8QKt1xAMBrU6LCsef05Es2pfeAGR3/8eateuSG7YAPy4brvOIUlSyTWW+mYHlj5n9W2iKHJPZTLfRjemS0s5B4u6sntrdhpJvnOwMXhWa1UbGxtx2mmn4S9/+QumTJlC4o8gioAEIMEd3gKQbbos8heLxbidyy4BaDSkBnZbkciyrBnF+v3+nCLCKbGRcQ5FQfjgg+H98ksId94J6YIL7D+HjdehN5+Ox+NQVRU1NTXa/bVTOJRLmPE4h/6LSb4xc0wQKoqiNZDke88az1GM+HvzzTfx61//Gn/9618xefJkEn8EUSQkAAnuCILAzTpFv1l5vV5tY+QFqy0sRQAaJ0EYx7rpOzT1ESz9xqoXAuFw2NFIk3/uXAT/8Acoffog9X//B5QQdXRS0KiqmjE5o9QIVrZzAPlFUymUIpp4n8MYdc3XrV3Kdbz++uv4zW9+g5kzZ+KSSy4h8UcQJUACkOAOLwFojKLp03u8YOcrts6ONTjox6Pla/bQR7DYxur1eiFJUtETTcyQdyRaIoHI/vvDs20b0o88Avk3vynqHOUWNKVEsNx0HW47h9FiBkDGF5hiR+299tpr+O1vf4tbbrkFF110EYk/gigRagIhKpJsY91YnRJPStl0WINDOBw2Jf7Y+fTj0wKBgGaOLMuyrQX5jII+gtEoxIsuAgAEZs0Cijg3m+5hp1eh1XMwIR+NRrVmDZaGZ00kbPKKm6/DDlRVte0ceosZ/ZSXVCqF7777Dul0Wot0m2XVqlX4zW9+gzvuuIPEH0HYBAlAgjt2f1jrO17tmqfKm1QqldF5yjp9rdi8sAkONTU16NKli7ZRM++2VCqV4d1WDMaRaLnWJV1wAdRoFN7//Ade3RxUO89RCkzEmj2HcZ5uIBDQjpGr89XqOUq5Dma4zVNg8joHE9oejwexWAzRaNSS0G5oaMDYsWMxe/Zs/P73v7dlfXPmzEGfPn0QDocxZMgQrFmzxtTrFixYAI/HgzFjxpS8BoIoNyQAiYoinU5rNiHGOjynogJWBBZLq+nnmtph85LNBsXr9UIQhKxGvmbQz6otKKx/8hNI55wD4McoII9zFAkTF6zG0iqFTJJTqRRSqRTi8bj2O+CBUWDyPAfPiS56gRmNRhEKhRCNRvMKbWbf8/LLL+PMM8/EPffcg3PPPdeWv/GFCxdi6tSpmDFjBtatW4cBAwZg2LBh2LJlS97Xbdy4EVdeeSWOOuqoktdAEG6AagAJ7oiiWNLwecDcWDdJkpBOp7l2AbP6JTObvrGOjj3G7gUvmxe9kS+LMBqbSEo9BwB4vvoK4QMPhEeSkHr9dSi//GXe5zsxD5e3GTZLu7e0tGgisZi6QTPn4T2fWC8weYvYQgLTaOx96qmnQhRFrF+/HrNmzbK14WPIkCE49NBDcc8992hr7N27Ny699FJMmzYt62tkWcbRRx+Nc889F6+//jp27NiB5557zpb1EES5oAgg4XrMjnVzIgJots7QWEcHQEv5AjAd+dNPkzArzFg6k9W2+f1+LSoWj8fbpNz0c2St+AiqvXtrDSD+AlFAff0jz5m7vM2w2Wzmzp07o2PHjvD5fFo9qtm6wUI4Jf5YGr7c4g9oa+w9evRo/Oc//8FPf/pTTJkyBUcffTR27dpV8poEQcDatWtRX1+vPeb1elFfX4/Gxsacr7vhhhvQrVs3nHfeeSWvgSDcAh/XWILQUYowk2UZqVRK6/QtdCw3BLRZFCqXzYuZ+2Em4mkGJgbZMVl3JhvPxzqLa2pqijqHeMUV8P/zn/A99xw8n34K9Wc/a/McJ0aiOWGGnS2Cqe/mZlFXQRA0QcOig2bhHcEE3B9dfPHFF/GXv/wFDz/8MMaOHYtvv/0Wq1atQm1tbcnr2rZtG2RZRl1dXcbjdXV12LBhQ9bXvPHGG3jwwQexfv36ks9PEG6CIoCEa2H1YizVVkg4uaEz0NigUqz4MxPxtIq+ti0ajQJo3ag9Hg8SiYQ2ks5SjePPfw75pJPgUVX477qrzXXox9zxFn88R7sVimAau7XZ7z6VSqGlpcXUvWXij2cE0+3ib8mSJZg4cSIeeeQRnHHGGfB4POjZsyfGjRvHZa2F2LVrF84++2zMmzcPXbt2LcsaCIIXFAEkXEmxER0nbGBynYNFutiamfiz0uxh9DbkOU3C5/MhFovB4/FotVfpdBqqqmqRKzMGyeLUqfAtXw7/k09CvPZaoHv3NgbPPIyqgcyZu7zOoReYZkSs3gQZgKl7y6KLPCOYbhd/zz77LC644AI89thjOP3007msr2vXrvD5fGhubs54vLm5Gd27d2/z/M8++wwbN27EqFGjtMdYGYff78fHH3+M/v37c1krQfCGIoCEq2DCwWrdG7A7AshbBBqPb4x0GW1ezDZ7OGWPks3vjQlOZtPB5uayjmJBEHI28iiHHw55yBB40mkE7r03Y/IG73m4kiRxF5hWxF828t1bVpeZTCa5ij8WTecZXSy2rlBVVTz99NO48MIL8cQTT3ATf0Bryn7QoEFo0FkXKYqChoYGDB06tM3z99tvP/z3v//F+vXrtX+jR4/Gcccdh/Xr16N3797c1koQvKEIIMEds0LGqahRKWSb1GEcZcbEH2C+2cM4IYQHxhF0uWB1g/qxaaxuMGtHsccDaepU+MaOhf8f/8APl1wCT8eOXE2L2T2PRqPcUv+pVCrDvscO9PeWmS+z3wmbh5xtfFop6FPLvBpwio0uqqqKRYsWYfLkyZg/fz5Gjx7NZX16pk6digkTJuCQQw7B4MGDMXv2bMTjcUycOBEAMH78ePTq1QszZ85EOBzGgQcemPH6Tp06AUCbxwmi0iABSLgCfddssbNU9RFAJ+oBjWtmj/G2eSmGYpsLsjWRGBsd/H4/MGIElH33hffjjxF9/HHgqqu4XId+XBnPmbtMjPH8IsJ8Gjt37gyv16uliln9p36WbrHX6Xbxt2DBAkyZMgULFizAyJEjuazPyNixY7F161ZMnz4dTU1NGDhwIJYvX641hmzatMmVXz4Jwm7IB5Dgjn4maDaMXbOl0NLSwrUeTBRFiKKIUCiUYdKrr/cDYPr8TnTI8vDfY9er9xsMPvkkulx5JZTu3ZH68EPAZnsRJ+sj9RFdHrDfe673qv7eWq3JZLi5rlBVVcyfPx9XXHEFnnrqKYwYMYLL+giCyA19zSG4k2/DqrSxbh6PJ2OaBRN/LPLn8XhMiT8WyXKiQzbX5JRSYNG/cDisdbyKv/0t5B494G1qgvL44yWPpdPjxNg1Y+0iT/FXqHGlUN1gvppMwP3i7/HHH8cVV1yBxYsXk/gjiDJBApAoG2ysm93mwDyD2oIgZFh16CcYWLV5YTVsvKKVrJmGp8BkQiMWi6H2Jz+BfOmlAIDIPfdA+HFcWjFj6fSUOtrNDE6klgEU1bhiNPYOBAIZxt4sXc3Qi343ir9HH30UV111FZ555hmcdNJJXNZHEERhKAVMcEdRFIiiqP1/u0yOsxGPx7XxXHaTTqe10W4dOnQoyuPPyTQmj/urJ6s9yq5diOy3Hzw7diD9z39CHDnS8lg6PU4YI1dqatmYhtc/VlNT47p6UlVV8fDDD+Pqq6/G888/j1/96ldc1kcQhDkoAkg4CttseUa/7P5Ok83QWG/zYlb8OWHz4lR0MWftYm0tpPPPB9A6Hs7r8eQcS1dodJoTo92cSi3zqCvUp+HZJBfWqZ1KpUqOvGajWLNqVVXxj3/8A9dccw1eeOEFEn8E4QIoAkhwR1VVbaO3MtatGBKJBILBoG3RD/1UjkgkookX1vVrttO3miJZBTtkm5sR2X9/eNJppJYvh3LUUVmPw+xlJElqMzrNic5os7Y4paBPLfMSmEDbphJWllBs5DUbxXYUq6qK+++/H3/5y1+wZMkSHHPMMUWdnyAIe6EIIOEIVse6lYKdjQfMNJkJPpZisxJdYXWD4XCYq8efE9FFllrOG12sq4N09tkAgMCsWVmfoh9LZxyd9v3332PXrl0IBALcahf1NWzVIP6MTSU+ny9n5DUej+eNvGajFPF333334S9/+QtefPFFEn8E4SIoAkhwR5Zl7Nixg2s0h8HSeaU2lRijQ3qbF9bxaya64oTNixPRRatixvP55wgPGACPoiD59ttQDzrI1HlYYxAbpVesBUo+nPDGcyIaC+w2qzZb65kv8prLb7AU8XfPPfdg5syZWLp0KY444ghL10YQBF9IABLcYZEdJ8xV2aZbihAyTuVgoi9bp6/eHJn9nG2ooig6YiZst8efkWLFTHD8ePiffhrS2LEQHnoo73NzpZaNqUwmVIpNZTp9v8LhMJdzANbFnxF9BzvzG9Sn4T0eT9F2Mqqq4u6778att96KZcuWZR2zRhBEeSEBSDhCOp125DxMaBYrAI21Z1Y6fZkYZH5tHo8HNTU13FKZbq+T8/z734gceSRUnw+p//4X6l57ZX2e2SYJ/Vg6vdg2KwaduF/6phKeqWUmlu0chWcU2+xLTywWs9zwceedd2LWrFn417/+hSFDhtiyPoIg7IVqAImqo9jvNKlUSrM1sSr+gNa6Np/PB1VVEYvF0LFjRwCtUclsfm2lkE6nM9bKA73hdTFiRv3FLyAfdxw8sgz/3/+e/TkWzJeZsI9EIojFYgX98PToLWt4imVWh8lT/OnrMO1MLevrBtm9ZQ05hTq29eu77bbbMGvWLKxYscI28Tdnzhz06dMH4XAYQ4YMwZo1a3I+d968eTjqqKPQuXNndO7cGfX19XmfTxDtFRKAhCM4MZu3WJgIYREVO2xe2CZqbHJIJpNoaWnRbGWsilWnJojYZcEiTp0KAPA/8giwbVvGz1iTTTHmy6yJhIlB/f1lYpDdX71YrvSmEifG1LFxh7W1taitrdXENotuGu+vfn0333wz/v73v+Pll1/GoYceast6Fi5ciKlTp2LGjBlYt24dBgwYgGHDhmHLli1Zn7969WqceeaZWLVqFRobG9G7d2+ceOKJ+Prrr21ZD0FUC5QCJhxBEASuEzoY6XQaqqqarr1SFEUzd2avYZE/gI/Ni3HOK0tj5irCZxgtaXgJAFtTpaqK8JFHwrt+PcRrroF47bUA+NXJGevaUqkUAKCmpgbBYJDLPXOyCQdw5nefSyxnqxtcu3YtvvnmG3zwwQd47LHH8NJLL+GXv/ylbWsaMmQIDj30UNxzzz0AWt87vXv3xqWXXopp06YVfL0sy+jcuTPuuecejB8/3rZ1EUSlQxFAot3CRIjX69VECIv8ATAd+bMaLdPPeWWbeTqdzjs2rZRomRVsTy17PLujgHPnAvF4G8saO2FdrcFgED6fD4FAANFoFJIk2TKWzkixxshWcGpMXSHxB+y+v/r377fffotp06bhzjvvxN57743GxkY0NTXZtqa1a9eivr5ee8zr9aK+vh6NjY2mjpFIJCCKIrp06WLLmgiiWiABSDiC21LAkiS1ESEssgHAdFelfu5qMV2lejHIUrqsiSSZTEIQBK0Wz+/3cxMA2aad2IU8ZgyUfv3g2b4d3ocfdixVqigKamtrtTSx8f6yujZFUYo6j1748+oodspL0Iz4y4bH48FHH30Er9eLZcuW4be//S0WLVqEd955x5Z1bdu2DbIso66uLuPxuro60yLzT3/6E3r27JkhIgmCAPiashGEw3g8noIbutEKRO/tZzbqZ+zEtMPmhTU5BINBreM1nU4jkUggHA5rdVh2W8oYa8tst6zx+SBNmYLglCkI/P3vCJ17LgJlSJVmu7+yLGvj0/R+eIUo1h7F6rUkEgnuXoLFij9FUTB9+nT885//xMqVK/Hzn/8cw4cPxxVXXMFlncVw8803Y8GCBVi9ejVXSx6CqEQoAki0K5jRMBNU+pomK+KPRZh4efyxtXg8HnTu3DljDF2pkSs9xi5cXn6Fyd/+FkrXrvBt3ozw889zOYeVVGm2jmJjk0O+jmIW9eVpJ8PEnxsjf4qi4Nprr8WCBQs08ceDrl27wufzobm5OePx5uZmdO/ePe9rb7/9dtx888146aWXcPDBB3NZH0FUMiQAiaoi10ZpTHEWY/MC7K4bBMBVMDGRwcbHFWt/kg+n6goFQUDa64V4ySUAgMCddwI2NwTpx/ZZFUy5xtJl69guVjBZvRYnjKRLEX9XX301Fi9ejJUrV2L//ffntsZgMIhBgwahoaEh4/wNDQ15zaVvvfVW3HjjjVi+fDkOOeQQbusjiEqGuoAJR2DpNt4wC4toNKo9pk9xhsNheL1eLeWrqqrpTl9ZlpFKpbin5MyOj2MClnUUswJ9lsrMhxOGxYDhWnbuRGS//eBpaUHq6aehnHSSLefgeS36+5tOp6EoCmpqarj9/p3+vVgtX1AUBX/84x/xwgsvoKGhAfvssw+3NTIWLlyICRMm4P7778fgwYMxe/ZsPPXUU9iwYQPq6uowfvx49OrVCzNnzgQA3HLLLZg+fTrmz5+fMX6upqYGNTU13NdLEJUC1QASVYVxU9Z3+kYiEe0xnjYvxWK1rlAv+PRikEUoc9nL6D3reF0LsHtUmXYtnTtDOvdcBO6+G4E770TaBgHI+1r0NYGyLGv1g/F4vOSxdEZYFLOYqStWYB5+xYi/P/zhD/jXv/6FlStXYu+99+a2Rj1jx47F1q1bMX36dDQ1NWHgwIFYvny51hiyadOmjOu47777IAgCfv3rX2ccZ8aMGfjzn//syJoJohKgCCDhCE5FAFmkJhaLaeKAdfoykcTe8mY3Pyfmx9pt8pvLa5CJTN5C1hhxZXi++QbhAw6ARxSRWrUKyuDBRZ/HaSGrT/mzJhI2Ns3qWDojTl0LE39WyxdkWcYVV1yBV155BQ0NDejfvz+3NRIE4QxUA0g4glM2MOw8+jFmevGnKAo8Ho9lmxfWNMIDY12hHfcqm9dgPB7H9u3bAbTeJx7f/Qo1lag9e0I+4wwAgH/WrKLPw36/TvjvZYvIsiaSaDRacl1mJYi/yy67DA0NDVi5ciWJP4KoEigCSDgCi0g5cZ6dO3dqaTR9p2+xNi/hcLhqCv5ZgwOLXLEUpt/vL1l4mvWs82zYgMigQVA9HqTWroW6776WzuPmiGyuukyWLjYep5xRTDPIsoxLL70Ur7/+OhoaGtCnTx9uayQIwlkoAkhUFfrOxlLEn97mhef8WFbzxVP86RsxAoGAFrmy0xjZSheuut9+kEaOhEdVEZg929J5nIjIGqOYVjuKWckB6ygGoE16SaVS2iQSJ6KYQPHiT5IkXHLJJXjzzTexcuVKEn8EUWVQBJBwBN4RQBaxE0URiqKgY8eOWqevVZsX/WxgXqlr/QgxnkKGRTELbf56Y2TmiWi2po1Fsaw0L3jfeQfhX/0KaiCA1IcfQu3Zs+BrnLBg4Tl5Qx8ZFEVRa8TgacFTivi76KKL8N5776GhoQG9e/fmsj6CIMoHRQAJR+BZA8g2bUVREIvF4PF4NCGjqqplj79ivOSsIAgCUqkU9ygWi2Ka6fbMZoxspqZNn8K00rmqDBkC+Ygj4BFF+O+5p+Dz9TOKeabjmS8ij98/q8sMhULwer2aVZEdY+mMsN9/MZNqJEnCBRdcgLVr12LVqlUk/giiSqEIIOEIiqJAFEUux2U1dKy+bdeuXVpUxYrHn1OF+GY8/krBzigWS1Wy6JXReqaUKKZ3+XKETz8dam0tkhs2AJ06ZX1esVEsKzhVi5lthFyu6KvZsXRGSukoF0URv//97/HBBx+goaEBPXr0sHx+giAqA4oAEhULi1CxmisAWgQlHo9DEIQM25dciKLoSEepfhIJ7yiWXVHMXFMydu3ahe3bt2tG2sV8j1SGDYNywAHw7NoF/7x5bX6uj2I5If707yMe5JofXMpYOiOlir9zzz0XH374IVauXEnijyCqHIoAEo5gdwSQbaYsYmds9tD7tDEfPNbxqt8UWV2ZcVO2E7s9/nJRTC1eMbB7xu6l0WswW7drLnzz5yN0/vlQu3VD8qOPgB8FWLXeMyuRX2NHMZDb3Js9v9h7JggCzjnnHHz22Wd45ZVXNJNlgiCqFxKAhCOwOap2YBRthTp9WWqNdV8yIcg210pJx+bDiUklQO4UttF42rS9jCgifNBB8H71FYS774Z03nmO3TOn0v52Na/ku8cAihZ/6XQa48ePx6ZNm/Dyyy+jW7duRa+RIIjKgQQg4Qh2CUCWRmWbqX66h5l6PxaJjMfjkCQJsVgMwWDQFh+8bOfS1yfyEjJO+OIB5mvxjFMyColB/5w5CP7xj1D690dy3TokBaFqBDOvzmX2pYbVDoqiCJ/Ph5qaGkvnSafTOPvss7F582a88sor6Nq1q21rJAjC3VANIFERGKcy+Hw+baYvm+5hRiywDuFwOIyf/OQnCAQCmiBMJpNalLBUjPWJPDuKnfLFM1uLp5+SYcZrUDrnHKhdusD72WeQFi3i3oWtt+DhHS0VBIFLzafP59PqBvWNOclk0nRHcSqVwu9+9zt88803aGhosFX8zZkzB3369EE4HMaQIUOwZs2avM9ftGgR9ttvP4TDYRx00EFYtmyZbWshCCI7JAAJRyhlM9ePSotGo/B4PJr4s2rzwhokWEQml1BJJpNF23Lox9DxrCvTW6M4Ub9o1U4EaCsGWeo9kUjsFiqRCMQLLgAAxO65B2HO0VLe/ovA7rFrxdwzszBh7vP5UFtbi1gsZtrCJ5lM4swzz8TWrVvxyiuv4Cc/+Ylt61q4cCGmTp2KGTNmYN26dRgwYACGDRuGLVu2ZH3+W2+9hTPPPBPnnXce/v3vf2PMmDEYM2YM3n//fdvWRBBEWygFTDhGOp22/BpjGpU9xoSZVZsXM8X+xhSmFVNkJ5pKAGesUXjW4jF7GUmSIAgCxG+/Re8jj4QnmUTqxRehHHecbedi5OrCtRu3/G6yjaV75pln0LlzZ9x///3YtWsXVqxYgc6dO9u6tiFDhuDQQw/FPT/6OyqKgt69e+PSSy/FtGnT2jx/7NixiMfjePHFF7XHDjvsMAwcOBBz5861dW0EQeyGIoCEY1gVEJIktbF5YSlfAKYjf1YjcvqoVSwWyx61yhIZ1Nd78YzIMdNr3tYodtrJGGH2MoFAoNUUec89kR43DgDgve02S9YnZtCnytuD+AOyj6X76KOPMH78eLz66qvYa6+90NDQoEXX7UAQBKxduxb19fXaY16vF/X19WhsbMz6msbGxoznA8CwYcNyPp8gCHsgAUi4En2qjnnPscifx+Mxvbnqp24UU+/l8XhyTshgYlCWZW3GK0+PP+OMWqd88XjX4oXDYUSjUahTp0L1+RB89VV4169HMplES0uLlk4tNlnhlDAvdvKG1fMUE5X1eDxIp9NYv349fvnLX+Kll17C3nvvjenTp2P79u22rW/btm2QZbmNjUxdXR2ampqyvqapqcnS8wmCsAcSgITrSKfTGY0NLJXFpiSY3fTsrpFjUSu9GJQkCd9//z1aWlq0rmQe6MeU8fbFSyQS3H3xmMDXN6+oe+0F+fTTAQCxe+9FTU2NFvlNp9OIx+NaF7jZ++zECDnj2D1evxtVVYuOyra0tOD000+HLMtYvnw5fvWrX+Gmm27Chx9+iF69enFZL0EQ7oYEIOEajNMyzHj8mTkOj42fpdeA1saUDh06AEBR0xsKoY/I8RR/+lQ5b2uUXOlY8YorAAC+Z56B5/PP4ff7EQqFEIvFtGtnYrBQ17a+EYO3+ONtWM2+ALBRdVbOs2vXLpx++unweDxYtmyZ9l7lQdeuXeHz+dDc3JzxeHNzM7p37571Nd27d7f0fIIg7IEEIOEY+TYtfRSFpTf1Ni9WxB+rkeOZijN2FAeDwTbj0uwQg05H5HhboxRKx6oHHwz5hBPgURT4774742esEYiJQWPXtl4M6v0ieadjnRB/xc4p3rlzJ0477TT4fD4sXboUtbW1XNbICAaDGDRoEBoaGrTHFEVBQ0MDhg4dmvU1Q4cOzXg+ALz88ss5n08QhD1QFzDhGKIoZm2eYBscS20BuzsYAfOdvsbjlHt8WLYuTP0or0I4bVbMu0Ei1xQRI97XXkN4+HCo4XDreLgCkyn0XdvMFNnr9aKmpoZ7Mw5vw+pSxN8PP/yA0047DZFIBEuWLEFNTQ2XNRpZuHAhJkyYgPvvvx+DBw/G7Nmz8dRTT2HDhg2oq6vD+PHj0atXL8ycORNAqw3MMcccg5tvvhknn3wyFixYgJtuugnr1q3DgQce6MiaCaI9wu/TniBMwMQUazjQN3sAfGxeSsGKKNMLPr0YZF2XgUBAm5JhxCnLEl6TKoxYaZBQjjoK8iGHwPfeewjcdx/EGTPyPp91bQcCAS1NGggEkEqlLFn4mMVp8cfS4FbYsWMHxowZgw4dOuD5559HLBbjssZsjB07Flu3bsX06dPR1NSEgQMHYvny5Vqjx6ZNmzJ+F4cffjjmz5+P6667Dtdccw323ntvPPfccyT+CIIzFAEkHMMYATSKKf1YNwCmN2ynImV2jlzTR6sAZEQGRVF0RJSxGjneaVJjat8MvuefR+h3v4PaqROSGzYABVKXTJQB0NKxeq9BWZa1Jh6fz1f0fWWNGLzH+5Ui/r7//nuccsop+MlPfoLnnnsOkUiEyxoJgqhsSAASjsE2YmB35ImJKRb5s9rpazwOL3imSfVp4nQ6DVVVUVNTg2AwyEVgqKqq1SU6If6KqpGTZYQHDYL3f/+DMHMmpMsuy3seM6bI7P1XTDoeKC0da4VSxN/27dsxevRo1NXV4dlnn+W6ToIgKhtqAiEcR2/NYZfNC++xXqx2jUc6lo2kY+ngaDQKSZI02xO75hMDbS1LeDdIACiuQcLng3j55QAA/9//DghCzvMwe5xCpsiBQCBro44Zr0EnxR8zP7cq/r777juMGjUKPXr0qHjxp6oq6uvrMWzYsDY/u/fee9GpUyds3ry5DCsjiOqBIoCEY4iiiEQikRF5KtbmxckIFu+pG7kiZUwUMwHIBKLf7y8qMuhU7Zpt50mnET7gAHibmpCeOxfy2Wdn/NguUaaPDKqqmhEZZHOni43IWYHVsRZTyrBt2zaMHDkSffr0waJFi7iu0ym++uorHHTQQbjllltw4YUXAgC++OILHHTQQbjvvvtwtuH9QBCENUgAEo6RSCSQTqc1kcOaPYrx+ONtvVFyBMvieQqJJeN8Yqti0KkOabsjZf5ZsxC8/noo++2H1LvvAj+KcF6iTJ+OV1UVXq9XS/3zjKiVIv62bt2KUaNGoX///li4cCHXOlinefTRRzF58mT85z//QZ8+fXD88cejU6dOeOaZZ8q9NIKoeEgAEo7BNlbA3TYv5RBLVhoKrIrBSqhdy8kPPyCy337w7NyJ9FNPQT75ZMc6vgVBQEtLi9ZJXGoENheliL8tW7Zg5MiR2HffffHPf/6zqsQfY8yYMZqlzY033ogPPvgAe+yxR7mXRRAVDwlAwjFYOlNv82I2rcrm7TqVhuMtLuw6TzYxyISK1+t1/Hp4dGIHrr8egVmzIB92GBIvveTItBLj9RS6z3adxwpNTU0YOXIkDjzwQDz55JNc62DLyZYtW/Dzn/8c27dvx9NPP40xY8aUe0kEURWQACQcg3W5KooCj8fjOpuXSj+PUaSwztdIJMI18sf9vn37LSIHHACPIOD7JUvgOeooR8WfEXaf9Y1LxXgNlir+RowYgYEDB+Lxxx+vWvHHuO666/Dcc8/h/fffL/dSCKJqoC5gwjHGjx+Pq6++GuvWrTP9GqdGlFXDeZghcjQaRSgUgiRJ8Pl8kCQJiUQCgiBkncRSCkz8cb1vPXpAPPNMAEDNnDncxXkymcx7Pew+RyIRxGIxBAIBbWRfPB6HIAgFR/+ZOU8uvvnmG5x00kkYNGgQnnjiiaoXf8Bun0yCIOyDBCDhGGPHjsW2bdswevRoHHjggbj66qvx7rvvZhUlqqpi165d2jQM3h5/1XQeZlhdW1uLDh06tBEpdolBJmaduJ5dF14I1eNBYMUKeD74gMt59GLW7PUwexkmBlm6ON8c6GLOw/j6669x0kknYciQIXj00UdJFBEEUTQkAAnHOOWUUzB//nw0NTXhzjvvxNatW7OKQUEQcMEFF+Cqq65CNBrlPp+WeQlWw3mYyNSfxyhSskWsrIpBvZjleT1MzAZ+/nPIp5wCAAjMns3lPKWK2Xxeg0wMplIpLfJn9TxfffUVTjrpJBx55JF45JFHSPwRBFESJAAJx4lEIjj11FMzxCCLDB5wwAEYMGAA3n77bVx77bXcvfckSUI0GuU+B9eJ8+hFZq7zZItY6cVgtoiVEf38YCfELBOZ0tSpAADfU0/B89VXtp2Hx9xlNmlELwYlScLOnTu12sF8xtNGvvzyS5x00kk49thj8eCDD3J7H23fvh3jxo1Dhw4d0KlTJ5x33nloaWnJ+/xLL70U++67LyKRCPbcc09cdtll+OGHH7isjyAI+6AmEMI1fPbZZ6ivr0cqlUI8HkeXLl0wevRonHbaaTjkkENsE4NOevwxz8JwOMxVzJZqjM1seVgTSa5RafqpKDzFrF5k6s8TGj4cvtdegzhpEsRbby35PDzEXzZY2pfZCum9BvUWM9neixs3bsSIESNw4okn4r777uN634cPH45vv/0W999/P0RRxMSJE3HooYdi/vz5WZ///vvvY8aMGTjnnHNwwAEH4Msvv8RFF12Egw8+GIsXL+a2ToIgSocEIOEKPvjgAwwfPhz19fW4//77IUkSVqxYgUWLFuHFF19Ep06dMHr0aJx++ukliUGnPP4qWWTmEoPMw5HnVBQgv8j0vvwywmPGQI3FkNywAejSpejz5BKZdpNPZOaa9uLz+eD1evH555/j5JNPxvDhw3Hvvfdyve8fffQRDjjgALz77rs45JBDAADLly/HiBEjsHnzZvTs2dPUcRYtWoSzzjoL8Xic0tQE4WIoBUyUnbfffhtHHnkkzjvvPDz44INainLMmDF48skn0dTUhLvuugvff/89xowZg5///Of405/+hHfeecdS7Rqz3fD7/VxFGZvn6vF4HJkiwqai2CUOjOnLYDCIZDKJRCIBRVEgiqImBu2GzeTNlS5X6uuhHHwwPPE4/A88UPR53CD+gN1zoGOxmHbNoihi0qRJOOaYY3D00Ufj2GOP5S7+AKCxsRGdOnXSxB8A1NfXw+v14p133jF9nB9++AEdOnQg8UcQLocEIFF2+vXrh/vuuw8zZszIKpaYGHziiSfw7bff4u6778b333+PU089FQcccIApMchsN3gbIuunYfAWmWyEHM/zAK33LhgMomvXrohEIgBa6xpbWlq0+kY7EgnsWHnFrMcD8YorAACB++4DEgnL53GL+DOit/E588wz8dlnnyEajWL+/PkYOnQoGhsbua0VaPUW7NatW8Zjfr8fXbp0QVNTk6ljbNu2DTfeeCMuuOACHkskCMJGSAASZadbt24444wzTD03EonglFNO0cTg3//+d+zYsSNDDL799tsZYnDhwoV44IEHuHv8sWYKp0RmOdLYbBJLTU2N9lg6nUY8Hi9aDLI0ttkaRvm006D06QPPtm3wP/64pXOxRhneDTml1BZ+8sknOO+88zBhwgRs2rQJ33zzDS688EJ07969qLVMmzZNG7eY69+GDRuKOraenTt34uSTT8YBBxyAP//5zyUfjyAIvlANIFEVpFIpvPTSS1i0aBFeeOEF1NbWYsyYMRBFEU888QQeffRRDB8+nNv5nZoi4tRoN6siU18zyBobWC1bvtfqaxitRDL999+P4NSpUPbaC6n//AcwIbJYepl3DWMpEcYNGzbg5JNPxrhx43Drrbfass6tW7fiu+++y/ucfv364YknnsAf/vAHfP/999rjkiQhHA5j0aJFOPXUU3O+fteuXRg2bBii0ShefPFFrpNnCIKwBxKARNWRSqWwfPlyXHPNNdiwYQP22GMP/OY3v8Fpp52GwYMH2775O9VJynPerh4m/nw+X1EbuVEMssYGY5drSY0yiQQi++8Pz7ZtSD/8MOTf/jbv061EGEuhFPH34YcfYuTIkZgwYQJmzpzJvebPCGsCee+99zBo0CAAwEsvvYSTTjopbxPIzp07MWzYMIRCISxbtgzRaNTJZRMEUSSUAiaqDo/Hg4ULF0IQBLz//vuYN28edu7cidNPPx37778//vjHP6KxsbGg350Zshkv86CU0WFW0NcwFhvF8fl8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goB4PI5kMglRFPOKwX/96184++yzMXfuXIwfP5575G/cuHH44IMP8PLLL+PFF1/Ea6+9hgt+vO5CzJ49myKTBNHOoRpAgnAxoihi1apVWLRoEZ577jl4vV7NZ/CII47IqBlcuXIlunbtiv3226+kqRuFcLKruGg/wS1bENl/f3hSKaT+9S8oRx+d9+msWQZoO0OYzSeWJAmKomidxH6/X3veiy++iHPPPRfz5s3DGWecwV1cffTRRzjggAPw7rvv4pBDDgEALF++HCNGjMDmzZvRs2fPnK9dv349Ro4ciffeew89evTAs88+izFjxnBdL0EQ7oMigAThYgKBAE488UTMmzcP33zzDZ544gkAwPjx47H33ntjypQpePXVV/H000/jt7/9LTZs2FA14k8URaRSKYTDYetm0t26QTr7bABAYNasvE/Vd0pnuyav14tgMIhoNKrVOYqiiKamJowePRqXXnopzjnnHDz44IOOiD8AaGxsRKdOnTTxBwD19fXwer145513cr4ukUhoKeru3btzXydBEO6FBCBBVAiBQAAnnHBChhj0eDwYO3YsJkyYgMMPPxx1dXUlN5DkIl+UzG7sMJOWpkyB6vXC9/LL8PznP1mfY9UmRy8GI5EIevTogUcffRSCIODee+/FnDlzLNUMFktTUxO6deuW8Zjf70eXLl3Q1NSU83VXXHEFDj/8cJxyyim8l0gQhMshAUgQFQgTgwceeCAA4JZbbkG/fv0wYcIE7L333rjsssuwevVq28Sgk36Cdk0SUfv2hXzaaQCAwJ13tv15CdekqipWrlyJZ555Bk899RQ2bdqkRWBLuTfTpk2Dx+PJ+2/Dhg1FHXvJkiVYuXIlZs+eXfT6CIKoHqgGkCiJOXPm4LbbbkNTUxMGDBiAv//97xg8eHDO5y9atAjXX389Nm7ciL333hu33HILRowY4eCKqwNVVXHDDTfg7rvvxr/+9S/tnkuShNWrV2PRokV49tlnAQCjRo3C6aefjiOPPLIoQeXkrGK7/QQ969cjcsQRUH0+pP77X6h77QWgdPH39NNP45JLLsETTzxha/3c1q1b8d133+V9Tr9+/fDEE0/gD3/4A77//nvtcUmSEA6HsWjRIpx66qltXnf55Zfj7rvvzmjYkWUZXq8XRx11FFavXm3bdRAE4X5IABJFs3DhQowfPx5z587FkCFDMHv2bCxatAgff/xxm/QUALz11ls4+uijMXPmTIwcORLz58/HLbfcgnXr1mmRLMIcixYtwpQpU/DSSy/lvHe5xOBpp52GI4880lRdnXHeLk94mUmHRo2Cb+VKiBddBPGOOzTx5/V6LQtaVVXx1FNP4dJLL8X8+fMxevRo29ZpBdYE8t5772HQoEEAgJdeegknnXRSziaQpqYmbNu2LeOxgw46CHfddRdGjRqFvn37OrJ2giDcAQlAomiGDBmCQw89FPfccw+AVrHQu3dvXHrppZg2bVqb548dOxbxeBwv6rzZDjvsMAwcOBBz5851bN3VgCzLaG5uztvtqUeSJLz66qt46qmn8Nxzz0FRFK2bOJcYZIKMt6WM/lw8Jol4V61CeORIqJEI4h98gGRNTVGCVlVV/POf/8Tll1+OhQsX4uSTT7Z1nVYZPnw4mpubMXfuXIiiiIkTJ+KQQw7B/PnzAQBff/01jj/+eDz22GM5o/Iej4e6gAminUI1gERRCIKAtWvXor6+XnvM6/Wivr4ejY2NWV/T2NiY8XwAGDZsWM7nE7nx+XymxR/Q2iBw/PHH4/7778fXX3+NBQsWIBAI4Nxzz8XPfvYzTJ48GStXrtRm5b777rsYNGgQfvjhB+7iL51OQxAEbpNElGOPhfyLXwBeL+R33ila/D355JO4/PLLsWjRorKLPwB48sknsd9+++H444/HiBEjcOSRR+KBBx7Qfi6KIj7++GMkEokyrpIgCLdi3+BRol2xbds2yLKMurq6jMfr6upyFqk3NTVlfX6+rkXCfpgYPP7443HPPffgtddew1NPPYXzzjsPiqLg0EMPxauvvopp06ahV69eXNeSTqchSRKi0Sg/M2mPB6kHHkCyQwd4u3YtSvw9/vjjuOqqq/D0009j2LBhfNZpkS5dumjRvmz06dOnYEcyJYAIov1CEUCCaMf4/X786le/wty5c/H111/jyiuvxCuvvIJAIIC7774bkyZNyogM2olTY+QURUFir72KFn+PPvoorrrqKjz33HOuEX8EQRClQgKQKIquXbvC5/Ohubk54/Hm5uacBrPdu3fP+/w5c+agT58+CIfDGDJkCNasWZPz/B988AFOP/109OnTBx6Ph6wtbGDJkiW44YYb8Oijj2Lbtm146qmnEAqF8Pvf/x79+/fHpEmT0NDQYIsYdGqMXClzkVVVxUMPPYRp06ZhyZIlOP744zmtkiAIwnlIABJFEQwGMWjQIDQ0NGiPKYqChoYGDB06NOtrhg4dmvF8AHj55ZcxdOhQLFy4EFOnTsWMGTOwbt06DBgwAMOGDcOWLVuyHiuRSKBfv364+eabaaKBDTz++OM4++yz8c9//hNnnnkm/H4/jjvuOMydOxebN2/GokWLEA6Hcf7556N///645JJLihKDrANXlmW+aV9kij+rdYyqqmLevHm49tprsWTJEhx33HGcVkkQBFEeqAuYKJqFCxdiwoQJuP/++zF48GDMnj0bTz31FDZs2IC6ujqMHz8evXr1wsyZMwG02sAcc8wxuPnmm3HyySdjwYIFuOmmm7Bu3Tqcd955ljqK9fTp0weXX345Lr/8ct6XXLXMmDEDRx11VJsmHSOSJOH111/XuolFUcTIkSNx2mmn4ZhjjslrLePkGDlFUZBIJIrqYFZVFXPnzsUNN9yAF154AUcXmCNMEARRiVAEkCiasWPH4vbbb8f06dMxcOBArF+/HsuXL9caPTZt2oRvv/1We/7hhx+O+fPn44EHHsCAAQOwePFiPPfcc9hnn30sdxQT9vKXv/yloPgDoEUG77vvPmzevBmLFy9GNBrFhRdeiH79+uGSSy7BK6+80iYyGI/H8dJLLzkq/oLBYFHi795778WNN96IpUuXkvgjCKJqoQggUXa++eYb9OrVC2+99VZG+viPf/wjXn311bzD7QGKALoBWZa1yOCzzz4LQRC0yOAvfvELjB07FqFQCC+++CLXtK8sy0gmkwgGgwgGg5Zeq6oq7r77btx6661YunQpDj/8cE6rJAiCKD8UASQIomR8Ph+OPfZY3Hvvvdi8eTOefvppxGIxXHDBBejfvz82bdqEiy++2LbZxNkoVfzNnj0bt956K/71r3+R+CMIouohAUiUnWI6igthpaN43rx5OOqoo9C5c2d07twZ9fX1eZ9P5IeJwRtuuAG9evXC4MGDMXLkSFxxxRXo168fLr74Yrz88ssQBMG2c5Yq/u644w7ccccdWLFiBQ477DDb1kUQBOFWSAASZaeYjuJ8WO0oXr16Nc4880ysWrUKjY2N6N27N0488UR8/fXXRV9Te6epqQnHHnssfvazn2HVqlW4//778dVXX+HZZ59FTU0NLr74Yk0MvvTSSyWJwVLF36233orZs2djxYoVOUemEQRBVBtUA0i4AqsdxYIg4MMPPwQAjBgxAuPGjcO4ceNQU1ODcePGFd1RDLQKis6dO+Oee+7B+PHj+V10lSIIAgYOHIhDDjkEDz30EPz+tgOHZFnGG2+8gUWLFuGZZ55BKpXSagaPPfZY00KuVPE3c+ZMzJ07FytWrMCgQYMsvZ4gCKKSIQFIuIZ77rkHt912G5qamjBw4EDcfffdGDJkCADg2GOPRZ8+ffDII48AADZu3Ii+ffu2OcZRRx2Ft956C4sXL84YcD9hwgTs2LEDzz//fMF17Nq1C926dcOiRYswcuRIW66tvfHmm29i6NChpho+9GLw2WefRTKZxMiRI3HqqafiuOOOyynsJElCKpVCKBTKaz+TDVVV8be//Q3z5s3DK6+8ggEDBlh6PUEQRKVDApCoKkrtKAaASy65BCtWrMAHH3xgeXoEURqyLOPNN9/UIoOJRAKjRo1qIwZXrFiBZcuW4fbbb7cs/hRFwY033oiHH34Yr7zyCg4++GAelwIA2L59Oy699FK88MIL8Hq9OP3003HXXXehpqYm7+saGxtx7bXX4p133oHP58PAgQOxYsUKRCIRbmslCKJ9QTWABKHj5ptvxoIFC/Dss8+S+CsDPp8PRx99NP7+979j06ZNeP7559GxY0dceuml6Nu3Ly688EL89a9/xbhx4zB48OCixN+f//xnPProo1i5ciVX8QcA48aNwwcffICXX34ZL774Il577TVccMEFeV/T2NiIk046CSeeeCLWrFmDd999F5MnT+Zqn0MQRPuDIoBEVSEIAqLRaFEp4Ntvvx1//etf8corr+CQQw5xYLWEWWRZxltvvYVbbrkFy5YtQywWw5gxY7TIoBnDZ0VRcP3112PBggVoaGjAAQccwHXNH330EQ444AC8++672vtp+fLlGDFiBDZv3oyePXtmfd1hhx2GE044ATfeeCPX9REE0b6hr5REVVFsR/Gtt96KG2+8EcuXL88q/qzYyjzzzDM45JBD0KlTJ8RiMQwcOBCPP/54aRfWzvH5fNiyZQtWrVqFp556CsuWLUPnzp0xZcoU9O3bFxdccAGWL1+OdDqd9fWKouCaa67BwoULsXLlSu7iD2iN5HXq1Cnj/VRfXw+v15uzFGHLli1455130K1bNxx++OGoq6vDMcccgzfeeIP7egmCaGeoBFFlLFiwQA2FQuojjzyifvjhh+oFF1ygdurUSW1qalJVVVXPPvtsddq0adrzb775ZjUYDKqLFy9Wv/32W+3frl27tOMFg0H1oYceUj/44AP1/PPPVzt16qQ2NzdnPf+qVavUZ555Rv3www/VTz/9VJ09e7bq8/nU5cuX87/4KmXBggVqNBpVlyxZkvG4JEnq66+/rl566aXqT3/6U7Vjx47quHHj1MWLF6vbt29X4/G4umvXLnXSpElqr1691A0bNji25r/97W/qPvvs0+bxPfbYQ7333nuzvqaxsVEFoHbp0kV96KGH1HXr1qmXX365GgwG1U8++YT3kgmCaEeQACSqkr///e/qnnvuqQaDQXXw4MHq22+/rf3smGOOUSdMmKD9/7322ksF0ObfjBkzVFVV1cGDB6uTJk3Sni/LstqzZ0915syZptfzi1/8Qr3uuutKvq72SCKRUPfee2912bJleZ/HxOBll12micEzzzxTHT58uPrTn/5U/fjjj21Zz5/+9Kes7xf9v48++qgoAfjmm2+qANSrr7464/GDDjoo40sLQRBEqbQ16CKIKmDy5MmYPHly1p+tXr064/9v3Lgx53EEQcDatWtx9dVXa495vV7U19ejsbGx4DpUVcXKlSvx8ccf45ZbbjG1diKTSCSC999/v6DPn8/nw5FHHokjjzwSs2bNQmNjIx588EGsWrUK//73v7HPPvvYsp4//OEPOOecc/I+p1+/fujevXsb83FJkrB9+/acE2569OgBAG1S1Pvvvz82bdpU/KIJgiAMkAAkiDxs27YNsiyjrq4u4/G6ujps2LAh5+t++OEH9OrVC+l0Gj6fD/feey9OOOEE3sutWqyaPOvF4IMPPmhrB+0ee+yBPfbYo+Dzhg4dih07dmDt2rWayfTKlSuhKIrmb2mkT58+6NmzJz7++OOMxz/55BMMHz689MUTBEH8CDWBEAQHamtrsX79erz77rv429/+hqlTp7aJPBLOUC77lP333x8nnXQSzj//fKxZswZvvvkmJk+ejDPOOEPrAP7666+x3377aU1FHo8HV111Fe6++24sXrwYn376Ka6//nps2LAB5513XlmugyCI6oQigASRh65du8Ln86G5uTnj8ebm5pxpPKBVdPzsZz8DAAwcOBAfffQRZs6ciWOPPZbncgmX8eSTT2Ly5Mk4/vjjNSPou+++W/u5KIr4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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=640.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "q_c = q.conjugate\n",
    "print(f\"Quaternion conjugate:\\n\", q_c)\n",
    "dcm_inv = ahrs.Quaternion(q_c).to_DCM()\n",
    "plot3(frames=dcm_inv)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "93b68b56-a4d0-4d06-b8d9-117c502b44a1",
   "metadata": {},
   "source": [
    "The original quaternion described a **counter-clockwise** rotation of 45° about the Z-axis, whereas its conjugate describes a **clockwise** rotation of 45° about the Z-axis.\n",
    "\n",
    "### QuaternionArray\n",
    "\n",
    "There is an extra class called [QuaternionArray](https://ahrs.readthedocs.io/en/latest/quaternion/classQuaternionArray.html), which, as the name suggests, handles more than one quaternion at once.\n",
    "\n",
    "This simplifies repetitive operations between quaternions, and even gives computes new properties already.\n",
    "\n",
    "Let's build an array of quaternions similar to the quaternion above, but different from each other by minor perturbances."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "586a352c-d72c-411b-aa66-18348149a4b8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "QuaternionArray([[ 0.93183287, -0.05024691,  0.01409294,  0.35911576],\n",
       "                 [ 0.90868641, -0.01665855, -0.0163846 ,  0.41682495],\n",
       "                 [ 0.90768371,  0.00500482,  0.08082771,  0.41176707],\n",
       "                 [ 0.93390891, -0.01990315,  0.00845252,  0.35685651],\n",
       "                 [ 0.89776317,  0.01604867,  0.01667136,  0.43987021]])"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Quaternions = ahrs.QuaternionArray(np.tile([1., 0., 0., np.sqrt(2)-1], (5, 1)) + np.random.randn(5, 4)*0.05)\n",
    "Quaternions.view()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25e6fa31-fb47-4611-964b-fe1aeb35f34b",
   "metadata": {},
   "source": [
    "In this case, we can visualize the array of Quaternions using a simple time-series plot."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "827ad76f-b400-431f-bbc6-c12bb3495f6f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "73765f64a13641cfba3941e48e819652",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=640.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot(Quaternions)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d54021ba-4850-44b5-8487-ca93a151f652",
   "metadata": {},
   "source": [
    "We can see that every element is plotted per line, where the red line corresponds to the first column (scalar values, or $q_w$), green to the second column ($q_x$), blue to the third column ($q_y$), and gold to the fourth column ($q_z$)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "8b7ca309-9afe-4096-8c6a-07f23c097118",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QuaternionArray.all()               Returns True if all elements evaluate to True.\n",
      "QuaternionArray.angular_velocities()Compute the angular velocity between N Quaternions.\n",
      "QuaternionArray.any()               Returns True if any of the elements of `a` evaluate to True.\n",
      "QuaternionArray.argmax()            Return indices of the maximum values along the given axis.\n",
      "QuaternionArray.argmin()            Return indices of the minimum values along the given axis.\n",
      "QuaternionArray.argpartition()      Returns the indices that would partition this array.\n",
      "QuaternionArray.argsort()           Returns the indices that would sort this array.\n",
      "QuaternionArray.astype()            Copy of the array, cast to a specified type.\n",
      "QuaternionArray.average()           Average quaternion using Markley's method :cite:`markley2007`.\n",
      "QuaternionArray.byteswap()          Swap the bytes of the array elements\n",
      "QuaternionArray.choose()            Use an index array to construct a new array from a set of choices.\n",
      "QuaternionArray.clip()              Return an array whose values are limited to ``[min, max]``.\n",
      "QuaternionArray.compress()          Return selected slices of this array along given axis.\n",
      "QuaternionArray.conj()              Synonym of `conjugate`\n",
      "QuaternionArray.conjugate()         Return the conjugate of all quaternions.\n",
      "QuaternionArray.copy()              Return a copy of the array.\n",
      "QuaternionArray.cumprod()           Return the cumulative product of the elements along the given axis.\n",
      "QuaternionArray.cumsum()            Return the cumulative sum of the elements along the given axis.\n",
      "QuaternionArray.diagonal()          Return specified diagonals. In NumPy 1.9 the returned array is a\n",
      "QuaternionArray.dot()               <No description found>\n",
      "QuaternionArray.dump()              Dump a pickle of the array to the specified file.\n",
      "QuaternionArray.dumps()             Returns the pickle of the array as a string.\n",
      "QuaternionArray.fill()              Fill the array with a scalar value.\n",
      "QuaternionArray.flatten()           Return a copy of the array collapsed into one dimension.\n",
      "QuaternionArray.from_DCM()          Quaternion from Direction Cosine Matrix.\n",
      "QuaternionArray.from_rpy()          Quaternion Array from given RPY angles.\n",
      "QuaternionArray.getfield()          Returns a field of the given array as a certain type.\n",
      "QuaternionArray.is_identity()       Returns an array of boolean values, where a value is ``True`` if its\n",
      "QuaternionArray.is_pure()           Returns an array of boolean values, where a value is ``True`` if its\n",
      "QuaternionArray.is_real()           Returns an array of boolean values, where a value is ``True`` if its\n",
      "QuaternionArray.is_versor()         Returns an array of boolean values, where a value is ``True`` if its\n",
      "QuaternionArray.item()              Copy an element of an array to a standard Python scalar and return it.\n",
      "QuaternionArray.itemset()           Insert scalar into an array (scalar is cast to array's dtype, if possible)\n",
      "QuaternionArray.max()               Return the maximum along a given axis.\n",
      "QuaternionArray.mean()              Returns the average of the array elements along given axis.\n",
      "QuaternionArray.min()               Return the minimum along a given axis.\n",
      "QuaternionArray.newbyteorder()      Return the array with the same data viewed with a different byte order.\n",
      "QuaternionArray.nonzero()           Return the indices of the elements that are non-zero.\n",
      "QuaternionArray.partition()         Rearranges the elements in the array in such a way that the value of the\n",
      "QuaternionArray.prod()              Return the product of the array elements over the given axis\n",
      "QuaternionArray.ptp()               Peak to peak (maximum - minimum) value along a given axis.\n",
      "QuaternionArray.put()               Set ``a.flat[n] = values[n]`` for all `n` in indices.\n",
      "QuaternionArray.ravel()             Return a flattened array.\n",
      "QuaternionArray.remove_jumps()      Flip sign of opposite quaternions.\n",
      "QuaternionArray.repeat()            Repeat elements of an array.\n",
      "QuaternionArray.reshape()           Returns an array containing the same data with a new shape.\n",
      "QuaternionArray.resize()            Change shape and size of array in-place.\n",
      "QuaternionArray.rotate_by()         Rotate all Quaternions in the array around quaternion :math:`\\mathbf{q}`.\n",
      "QuaternionArray.round()             Return `a` with each element rounded to the given number of decimals.\n",
      "QuaternionArray.searchsorted()      Find indices where elements of v should be inserted in a to maintain order.\n",
      "QuaternionArray.setfield()          Put a value into a specified place in a field defined by a data-type.\n",
      "QuaternionArray.setflags()          Set array flags WRITEABLE, ALIGNED, WRITEBACKIFCOPY,\n",
      "QuaternionArray.slerp_nan()         SLERP over NaN values in Quaternion array.\n",
      "QuaternionArray.sort()              Sort an array in-place. Refer to `numpy.sort` for full documentation.\n",
      "QuaternionArray.squeeze()           Remove axes of length one from `a`.\n",
      "QuaternionArray.std()               Returns the standard deviation of the array elements along given axis.\n",
      "QuaternionArray.sum()               Return the sum of the array elements over the given axis.\n",
      "QuaternionArray.swapaxes()          Return a view of the array with `axis1` and `axis2` interchanged.\n",
      "QuaternionArray.take()              Return an array formed from the elements of `a` at the given indices.\n",
      "QuaternionArray.to_DCM()            Having *N* quaternions return *N* `direction cosine matrices\n",
      "QuaternionArray.to_angles()         Return corresponding roll-pitch-yaw angles of quaternion.\n",
      "QuaternionArray.tobytes()           Construct Python bytes containing the raw data bytes in the array.\n",
      "QuaternionArray.tofile()            Write array to a file as text or binary (default).\n",
      "QuaternionArray.tolist()            Return the array as an ``a.ndim``-levels deep nested list of Python scalars.\n",
      "QuaternionArray.tostring()          A compatibility alias for `tobytes`, with exactly the same behavior.\n",
      "QuaternionArray.trace()             Return the sum along diagonals of the array.\n",
      "QuaternionArray.transpose()         Returns a view of the array with axes transposed.\n",
      "QuaternionArray.var()               Returns the variance of the array elements, along given axis.\n",
      "QuaternionArray.view()              New view of array with the same data.\n"
     ]
    }
   ],
   "source": [
    "describe_methods(Quaternions)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a9556273-12cd-4666-b97e-7c4e4de6b1c0",
   "metadata": {},
   "source": [
    "Class `QuaternionArray` has almost all the same methods as the class `Quaternion`, but with some extra useful ones:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "0f6eb49f-802e-4fdc-b0ae-bff076cccd5d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.91729279,  0.01317295, -0.02074901, -0.39745425])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Mean Quaternion\n",
    "Quaternions.average()\n",
    "\n",
    "# WARNING: method `mean()` inherited from numpy.array\n",
    "# will compute the numerical mean over all array values,\n",
    "# which is NOT the Mean Quaternion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "1c8d08e8-098e-47af-a5ea-63aa9e0b08bb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.36754881, -0.86071183,  1.22059071],\n",
       "       [ 1.20212312,  1.58747003, -0.05827215],\n",
       "       [-0.96206463, -1.15664081, -1.24582246],\n",
       "       [ 0.70175164, -0.13001414,  1.81787076]])"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Angular Velocity around X-, Y-, and Z-axis from orientations as Quaternions (given sampling rate in seconds)\n",
    "Quaternions.angular_velocities(0.1)  # Assumes sampling rate of 0.1 s (10 Hz)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "91373327-d946-44ad-b7c5-869c2a51cbc5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Array missing 3rd quaternion:\n",
      " [[ 0.93183287 -0.05024691  0.01409294  0.35911576]\n",
      " [ 0.90868641 -0.01665855 -0.0163846   0.41682495]\n",
      " [        nan         nan         nan         nan]\n",
      " [ 0.93390891 -0.01990315  0.00845252  0.35685651]\n",
      " [ 0.89776317  0.01604867  0.01667136  0.43987021]]\n",
      "Array with SLERP:\n",
      " [[ 0.93183287 -0.05024691  0.01409294  0.35911576]\n",
      " [ 0.90868641 -0.01665855 -0.0163846   0.41682495]\n",
      " [ 0.92185784 -0.01829197 -0.00396845  0.38707594]\n",
      " [ 0.93390891 -0.01990315  0.00845252  0.35685651]\n",
      " [ 0.89776317  0.01604867  0.01667136  0.43987021]]\n"
     ]
    }
   ],
   "source": [
    "# Interpolate missing Quaternion using SLERP\n",
    "Quaternions[2] = np.nan\n",
    "print(\"Array missing 3rd quaternion:\\n\", Quaternions)\n",
    "\n",
    "Quaternions.slerp_nan(inplace=True)\n",
    "print(\"Array with SLERP:\\n\", Quaternions)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "76df77bd-78f9-4aaf-a80f-d9caad110128",
   "metadata": {},
   "source": [
    "The quaternions $\\begin{bmatrix}q_w & q_x & q_y & q_z\\end{bmatrix}$ and $\\begin{bmatrix}-q_w & -q_x & -q_y & -q_z\\end{bmatrix}$ represent the same orientation, but some people prefer to have them more consistent.\n",
    "\n",
    "The method [remove_jumps](https://ahrs.readthedocs.io/en/latest/quaternion/quaternionarray.remove_jumps.html) \"flips\" the opposite quaternions to make them more \"pleasant\" for the user."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "6f29e77f-275b-421c-aff0-be7877da2d7b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Array with negated quaternion (4th):\n",
      " [[ 0.93183287 -0.05024691  0.01409294  0.35911576]\n",
      " [ 0.90868641 -0.01665855 -0.0163846   0.41682495]\n",
      " [ 0.92185784 -0.01829197 -0.00396845  0.38707594]\n",
      " [-0.93390891  0.01990315 -0.00845252 -0.35685651]\n",
      " [ 0.89776317  0.01604867  0.01667136  0.43987021]]\n",
      "Array with 4th quaternion 'flipped back':\n",
      " [[ 0.93183287 -0.05024691  0.01409294  0.35911576]\n",
      " [ 0.90868641 -0.01665855 -0.0163846   0.41682495]\n",
      " [ 0.92185784 -0.01829197 -0.00396845  0.38707594]\n",
      " [ 0.93390891 -0.01990315  0.00845252  0.35685651]\n",
      " [ 0.89776317  0.01604867  0.01667136  0.43987021]]\n"
     ]
    }
   ],
   "source": [
    "# Negate the 4th Quaternion (still same orientation)\n",
    "Quaternions[3] *= -1\n",
    "print(\"Array with negated quaternion (4th):\\n\", Quaternions)\n",
    "\n",
    "# \"Flip\" quaternion back\n",
    "Quaternions.remove_jumps()\n",
    "print(\"Array with 4th quaternion 'flipped back':\\n\", Quaternions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f2bb81a2-ddc1-4b02-a0b6-9e1b79623740",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
